【最新利用链】Weblogic DualHashBidiMap 反序列化漏洞分析

💡 原文中文,约2200字,阅读约需6分钟。
📝

内容提要

Weblogic反序列化漏洞利用链可实现任意文件写入和RCE,但不适用于最新版本。漏洞利用过程已封装成小工具,可独立运行。DayDayPoc已收录该poc检测工具。

🔎

延伸解读

利用链核心机制解析

该利用链的入口是DualHashBidiMap类的readObject方法,通过控制maps字段为[DeltaMap, null]触发putAll,进而调用DeltaMap的entrySet方法。由于isRepeatableRead返回true,会执行ensureReadAll,遍历__m_ReadMap字段。将__m_ReadMap设为SimpleCache$StoreableCachingMap后,最终调用其put方法,通过writeToPath实现任意文件写入。整个链条环环相扣,展示了反序列化漏洞的构造思路。

影响范围与版本限制

该漏洞适用于2023.04补丁之前的所有Weblogic版本。2023.04补丁后,Weblogic增加了反序列化白名单机制,只允许白名单中的类被反序列化,因此该利用链在最新版本中无法成功利用。这意味着攻击者可能针对未及时打补丁的旧版本系统进行攻击,提醒管理员及时更新补丁以防御此类漏洞。

研究工具与复现环境

为方便研究,作者将漏洞利用过程封装成可独立运行的小工具,需传入目标IP、端口和待上传文件的本地路径。DayDayPoc已收录该POC检测工具,并支持在线生成漏洞复现环境,可使用CVE-2023-21839的环境进行验证。这降低了研究门槛,有助于安全人员理解漏洞原理和验证修复效果。

❓

Q&A

Weblogic反序列化漏洞的主要影响是什么?

该漏洞可实现任意文件写入和远程代码执行(RCE),但不适用于最新版本的Weblogic。

如何利用Weblogic反序列化漏洞进行攻击?

攻击者通过控制maps字段进行反序列化,最终调用SimpleCache$StoreableCachingMap类的put方法实现任意文件写入。

哪些版本的Weblogic受到该漏洞影响?

该漏洞适用于2023.04补丁之前的所有版本,之后Weblogic增加了白名单机制,无法再利用该漏洞。

有没有工具可以检测Weblogic反序列化漏洞?

有,漏洞利用过程已封装成可独立运行的小工具,并已被DayDayPoc收录为poc检测工具。

Weblogic反序列化漏洞的利用链是如何构建的?

利用链的入口在DualHashBidiMap类的readObject方法,通过设置maps字段为[DeltaMap, null]进行攻击。

如何在线生成Weblogic漏洞复现环境?

DayDayPoc支持在线生成漏洞复现环境,可以使用CVE-2023-21839漏洞的环境进行验证。

🏷️

标签

➡️

继续阅读