
CVE-2024-2961 (CNEXT) PHP file-read to RCE exploit adapted to an XXE/CTF channel
将 Ambionics 官方 cnext-exploits 的 PHP 文件读取 -> RCE 利用脚本,适配到 SVG 上传 + XXE 任意文件读取 场景(PolarisCTF 2026 "头像上传器" 一类题目)。
php://filter、data://、zlib(脚本 check_vulnerable() 会自动验证)pip install -r requirements.txt(pwntools、ten、requests)| -> /:XML 实体 URL 中含 | 时 libxml 解析失败(实测 DOMDocument 返回空文档);php://filter 支持不带前缀的裸过滤器按 / 分隔,等价于 read=a|b|c。LIBC_FILE 改为相对路径(Windows/Linux 均可运行)。download_file 改用 open() 写入(ten 库导出的 Path 是 PosixPath 子类,Windows 无法实例化)。Remote 类:填入题目 API 地址、账号密码。Remote.send/download(示例实现针对“上传 SVG + 查看时解析”的接口形态,其他形态照葫芦画瓢)。-s sleep 计时验证):python cnext-exploit-xxe-polaris.py <url> '/readflag > /var/www/html/uploads/flag_out.txt' -s 2
看到 EXPLOIT SUCCESS 后,再用读原语把输出文件读回即可。