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
四、环境搭建
- 安装 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 组件:
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 # 启动服务
七、安全建议
- 避免在开发中使用 XMLDecoder 类进行 XML 反序列化操作
- 关注其他使用 XMLDecoder 类进行反序列化操作的程序,可能存在类似漏洞
- 定期更新 WebLogic 及其他中间件安全补丁