Weblogic SSRF漏洞 CVE-2014-4210
漏洞描述
Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件,此漏洞可通过HTTP协议利用,未经身份验证的远程攻击者可利用此漏洞影响受影响组件的机密性
漏洞影响
Oracle WebLogic Server 10.0.2.0
Oracle WebLogic Server 10.3.6.0
环境搭建
git clone https://github.com/vulhub/vulhub.git
cd vulhub/weblogic/ssrd
docker-compose up -d访问 http://xxx.xxx.xxx.xxx:7001 正常即可
漏洞复现
出现漏洞的 URL为 : http://xxx.xxx.xxx.xxx:7001/uddiexplorer/SearchPublicRegistries.jsp
使用 payload 进行探测, 将探测的位置写在 operator参数中
注意需要知道内网 IP
通过查看报错内容来进行判断
存在的报错内容如图,关键字为 404, 例如把 operator 参数改成 http://xxx.xxx.xxx.xxx:7000 这样不存在的则报错内容如下图
通过这样的方法就可以探测内网的开放端口情况,例如内网中有一台主机 IP:172.19.0.2 开启了 6379端口的redis服务
如果访问的非http协议,则会返回did not have a valid SOAP content-type,这样通过错误的不同,即可探测内网状态。
Weblogic的SSRF有一个比较大的特点,其虽然是一个“GET”请求,但是我们可以通过传入%0a%0d来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF攻击内网中的redis服务器。
发送三条redis命令,将弹shell脚本写入/etc/crontab 中:
接着再将请求进行 url编码,
注意,换行符是“\r\n”,也就是“%0D%0A”
发送payload
发送后监听 172.19.0.3 9999端口 等待反弹shel
最后补充一下,可进行利用的cron有如下几个地方:
/etc/crontab 这个是肯定的
/etc/cron.d/* 将任意文件写到该目录下,效果和crontab相同,格式也要和/etc/crontab相同。漏洞利用这个目录,可以做到不覆盖任何其他文件的情况进行弹shell。
/var/spool/cron/root centos系统下root用户的cron文件
/var/spool/cron/crontabs/root debian系统下root用户的cron文件
漏洞利用POC
Last updated
Was this helpful?





