【最新利用链】Weblogic DualHashBidiMap 反序列化漏洞分析
内容提要
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漏洞的环境进行验证。