shiro反序列化漏洞(CVE-2016-4437)
1.什么是shiro
Shiro是Apache的一个强大且易用的Java安全框架,用于执行身份验证、授权、密码和会话管理。使用 Shiro 易于理解的 API,可以快速轻松地对应用程序进行保护。
2.漏洞原因:
Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值 > Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。
漏洞利用流程图 
3.漏洞复现
还是利用vulhub进行漏洞复现
docker-compose build
docker-compose up -d
docker-compose ps
还是使用以上命令启动环境,接下来进行漏洞验证,访问目标页面,点击记住密码,使用 burpsuite 抓取数据包

可以看到出现了rememberMe=deleteMe字段,得出该目标采用了shiro进行了身份验证,下面使用工具进行测试漏洞是否存在,工具下载地址https://github.com/SummerSec/ShiroAttack2/releases/tag/4.5.6
将url地址写入后, 在将工具data文件夹中的shiro_keys.txt 密钥任意选择一个填入指定密钥地址,点击检测当前密钥
发现存在shiro框架,即该漏洞存在
4.漏洞利用:构造cookie 获取反弹shell
4.1:使用工具进行漏洞利用
点击“检测当前密钥”=>“爆破密钥”,发现回显方式 
然后我们点击“检测当前利用链”、“爆破利用链及回显”,就可以看到检测日志模块,出现了“发现构造链:xxxx 回显方式:xxx”,并提示我们请尝试功能区利用:

然后我们点击 命令执行,输入 ls -a ,可以发现成功执行命令

点到为止,后续可以上传木马等,可以自己尝试。

浙公网安备 33010602011771号