漏洞原理

Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。

cookie的值:命令=>序列化=>AES加密=>base64编码=>RememberMe Cookie值,然后这里我们只要知道AES加密的key就可以进行RCEpayload构造

漏洞影响版本

Apache Shiro < 1.2.4

判断条件:

1
在cookie后添加rememberMe测试看出不出现rememberMe=deleteMe

复现:

判断

这里我用的是vulhub搭建靶场,我是放在云服务器上的

测试在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