千家信息网

WebLogic EJBTaglibDescriptor XXE漏洞(CVE-2019-2888)分析

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,作者:Longofo@知道创宇404实验室时间:2019年10月16日原文链接: https://paper.seebug.org/1067/这个漏洞和之前@Matthias Kaiser提交的几个X
千家信息网最后更新 2025年12月02日WebLogic EJBTaglibDescriptor XXE漏洞(CVE-2019-2888)分析

作者:Longofo@知道创宇404实验室
时间:2019年10月16日

原文链接: https://paper.seebug.org/1067/

这个漏洞和之前@Matthias Kaiser提交的几个XXE漏洞是类似的,而 EJBTaglibDescriptor应该是漏掉的一个,可以参考之前几个XXE的 分析。我和@Badcode师傅反编译了WebLogic所有的Jar包,根据之前几个XXE漏洞的特征进行了搜索匹配到了这个EJBTaglibDescriptor类,这个类在反序列化时也会进行XML解析。

Oracle发布了10月份的补丁,详情见链接( https://www.oracle.com/technetwork/security-advisory/cpuoct2019-5072832.html)

环境

  • Windows 10
  • WebLogic 10.3.6.0.190716(安装了19年7月补丁)
  • Jdk160_29(WebLogic 自带的JDK)

漏洞分析

weblogic.jar!\weblogic\servlet\ejb2jsp\dd\EJBTaglibDescriptor.class这个类继承自 java\io\Externalizable

因此在序列化与反序列化时会自动调用子类重写的 writeExternalreadExternal

看下 writeExternal的逻辑与 readExternal的逻辑,

readExternal中,使用 ObjectIutput.readUTF读取反序列化数据中的String数据,然后调用了load方法,

在load方法中,使用 DocumentBuilder.parse解析了反序列化中传递的XML数据,因此这里是可能存在XXE漏洞的

writeExternal中,调用了本身的 toString方法,在其中又调用了自身的 toXML方法

toXML的作用应该是将 this.beans转换为对应的xml数据。看起来要构造payload稍微有点麻烦,但是序列化操作是攻击者可控制的,所以我们可以直接修改 writeExternal的逻辑来生成恶意的序列化数据:

漏洞复现

1、重写 EJBTaglibDescriptor中的 writeExternal函数,生成payload

2、发送payload到服务器

在我们的HTTP服务器和FTP服务器接收到了my.dtd的请求与win.ini的数据

3、在打了7月份最新补丁的服务器上能看到报错信息

参考链接:

[1] 分析: https://paper.seebug.org/906/

[2] https://www.oracle.com/technetwork/security-advisory/cpuoct2019-5072832.html

如需转载请注明来源。

序列 漏洞 数据 方法 服务器 服务 分析 补丁 逻辑 链接 月份 参考 生成 作用 作者 信息 函数 原文 子类 实验室 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 银行机构网络安全拓扑图 苹果ipad软件开发教程 如何与软件开发方协调 保障网络安全畅通 高质量完善的语音会议软件开发 管理大型软件开发模型 上海至寻网络技术 不用华为设备是因为网络安全 危害网络安全法处罚时效 国家宣传视频网络安全 以测试为驱动的软件开发模型 小程序频繁更新位置到数据库 服务器网卡mac地址老是冲突 软件开发平台功能清单 苏州c语言软件开发大概要多少钱 有没有能炸我的世界服务器 我国vcpe数据库 租服务器远程挂游戏 亿速云服务器 海康服务器激活反馈文件下载不了 文件地理数据库和企业地理数据库 警察网络安全绘画简单 维护网络安全要以什么 山东临沂网络安全宣传 极差直销软件开发 汉中网络安全知识大赛 数据库连续插入触发器的逻辑 服务器全局找某个zip文件 计算机网络技术专业的就业职位 网络安全隐患2000字
0