WebLogic XMLDecoder 漏洞分析
字数 1103 2025-08-18 11:38:45

WebLogic XMLDecoder 漏洞分析与防护指南

一、漏洞背景

WebLogic 是美国 Oracle 公司出品的一个基于 JAVAEE 架构的中间件应用服务器,用于开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用。

二、漏洞描述

WebLogic WLS 组件中存在远程代码执行漏洞(CVE-2017-10271),攻击者可构造特定请求对运行 WebLogic 中间件的主机进行攻击。漏洞本质是 Oracle JDK 组件中的"XMLDecoder"类在反序列化操作时引发了代码执行。

WebLogic "wls-wsat"组件在反序列化操作时使用了"XMLDecoder"类进行 XML 反序列化操作,导致了代码执行漏洞。

三、影响版本

  • Oracle WebLogic Server 10.3.6.0
  • Oracle WebLogic Server 12.2.1.1
  • Oracle WebLogic Server 12.2.1.2
  • Oracle WebLogic Server 12.1.3.0

四、环境搭建

  1. 安装 Java 环境
  2. 下载并安装 WebLogic Server 10.3.6.0 版本
  3. 验证安装完成后可通过 URL 访问

五、漏洞分析利用

漏洞利用步骤

  1. 使用攻击机访问靶机的 WLS 组件
  2. 使用 Burp Suite 拦截请求
  3. 修改请求为 POST 方法
  4. 添加 Content-Type: text/xml 头
  5. 修改 Cache-Control 为 no-cache
  6. 发送构造的恶意 XML 数据

漏洞验证

成功利用漏洞可使目标服务器执行任意命令,如弹出计算器等。

自动化工具

GitHub 上提供了自动化利用脚本:
https://github.com/hanc00l/weblogic_wls_wsat_rce

六、修复建议

官方升级方案

Oracle 已在 2017 年 10 月的更新补丁中修复此漏洞,建议及时下载并安装最新补丁。

官方补丁详情参考:
http://www.oracle.com/technetwork/cn/topics/security/cpuoct2017-3236626-zhs.html

临时防护方案

如果无法立即升级,可采取以下临时措施:

  1. 删除 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
    
  2. 重启 WebLogic 服务:

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

七、安全建议

  1. 避免在开发中使用 XMLDecoder 类进行 XML 反序列化操作
  2. 关注其他使用 XMLDecoder 类进行反序列化操作的程序,可能存在类似漏洞
  3. 定期更新 WebLogic 及其他中间件安全补丁
WebLogic XMLDecoder 漏洞分析与防护指南 一、漏洞背景 WebLogic 是美国 Oracle 公司出品的一个基于 JAVAEE 架构的中间件应用服务器,用于开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用。 二、漏洞描述 WebLogic WLS 组件中存在远程代码执行漏洞(CVE-2017-10271),攻击者可构造特定请求对运行 WebLogic 中间件的主机进行攻击。漏洞本质是 Oracle JDK 组件中的"XMLDecoder"类在反序列化操作时引发了代码执行。 WebLogic "wls-wsat"组件在反序列化操作时使用了"XMLDecoder"类进行 XML 反序列化操作,导致了代码执行漏洞。 三、影响版本 Oracle WebLogic Server 10.3.6.0 Oracle WebLogic Server 12.2.1.1 Oracle WebLogic Server 12.2.1.2 Oracle WebLogic Server 12.1.3.0 四、环境搭建 安装 Java 环境 下载并安装 WebLogic Server 10.3.6.0 版本 验证安装完成后可通过 URL 访问 五、漏洞分析利用 漏洞利用步骤 使用攻击机访问靶机的 WLS 组件 使用 Burp Suite 拦截请求 修改请求为 POST 方法 添加 Content-Type: text/xml 头 修改 Cache-Control 为 no-cache 发送构造的恶意 XML 数据 漏洞验证 成功利用漏洞可使目标服务器执行任意命令,如弹出计算器等。 自动化工具 GitHub 上提供了自动化利用脚本: https://github.com/hanc00l/weblogic_ wls_ wsat_ rce 六、修复建议 官方升级方案 Oracle 已在 2017 年 10 月的更新补丁中修复此漏洞,建议及时下载并安装最新补丁。 官方补丁详情参考: http://www.oracle.com/technetwork/cn/topics/security/cpuoct2017-3236626-zhs.html 临时防护方案 如果无法立即升级,可采取以下临时措施: 删除 wls-wsat 组件: 重启 WebLogic 服务: 七、安全建议 避免在开发中使用 XMLDecoder 类进行 XML 反序列化操作 关注其他使用 XMLDecoder 类进行反序列化操作的程序,可能存在类似漏洞 定期更新 WebLogic 及其他中间件安全补丁