
针对 Apache Struts S2-052(CVE-2017-9805)XML 反序列化远程代码执行漏洞的概念验证(PoC)利用代码。在完成 INE eWPTX Practice Range 靶场实验时编写。包含自定义 payload、反弹 shell 漏洞利用脚本以及分步漏洞利用示例。
本仓库演示了如何利用恶意 XML 反序列化来攻击 Apache Struts S2-052(CVE-2017-9805)。
该漏洞利用程序是在完成 INE eWPTX 实践靶场 – Struts XML 反序列化 RCE 实验时开发的。
Apache Struts REST 插件使用 XStream 对 XML 请求进行反序列化。
当应用程序处理带有以下内容的 XML 时:
Content-Type: application/xml
攻击者可以提供一个恶意的序列化对象图,从而通过以下方式触发任意命令的执行:
java.lang.ProcessBuilder
这会导致远程命令执行(RCE)。
客户端请求 ↓ Struts REST 插件 ↓ XStream XML 反序列化 ↓ 恶意对象图 ↓ ProcessBuilder.start() ↓ 远程代码执行
平台:INE eWPTX 实践靶场
挑战:Struts XML 反序列化 RCE
Struts 2.1.6 – 2.3.33 Struts 2.5 – 2.5.12