漏洞原理
Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。
cookie的值:命令=>序列化=>AES加密=>base64编码=>RememberMe Cookie值,然后这里我们只要知道AES加密的key就可以进行RCEpayload构造
漏洞影响版本
Apache Shiro < 1.2.4
判断条件:
1
| 在cookie后添加rememberMe测试看出不出现rememberMe=deleteMe
|
复现:
判断
这里我用的是vulhub搭建靶场,我是放在云服务器上的
这里可以看到Set-cookie:rememberMe=deleteMe,所以可以判断这里使用的是shiro框架
测试在cookie头这里加一个 rememberMe=1的字段,响应再次出现rememberMe=deleteMe,证明是存在漏洞的
攻击:
这里的重点是我们得要知道key,才能构造我们的payload
shiro-attack爆破
法一:利用工具:
发现这个工具里面可以进行RCE
打入内存马
这里我用的工具打得,还可以弹shell,有参考文章
https://blog.csdn.net/HEAVEN569/article/details/125389987?fromshare=blogdetail&sharetype=blogdetail&sharerId=125389987&sharerefer=PC&sharesource=2301_79248867&sharefrom=from_link