0xh7ml/CVE-2026-63030

GitHub: 0xh7ml/CVE-2026-63030

针对 WordPress 核心 REST API batch confusion 漏洞(CVE-2026-63030)的未授权 SQL 注入检测与数据利用工具,提供 Python CLI 和 Nuclei 模板两种检测方式。

Stars: 0 | Forks: 0

# CVE-2026-63030 — WordPress wp2shell Exploit 针对 WordPress 核心的未授权检测与利用工具,该漏洞属于 **batch-confusion** 漏洞 (CVE-2026-63030 / CVE-2026-60137),可导致 通过 REST API 的 batch endpoint 引发 **SQL 注入**和**远程代码执行 (RCE)**。 ## 概述 受影响的 WordPress 版本暴露了 REST API 的 batch endpoint,地址为: - `POST /wp-json/batch/v1`,或 - `POST /?rest_route=/batch/v1` (当禁用 pretty-permalinks / `wp-json` 时的备选方案) 通过 *batch confusion* 缺陷,batch body 中的嵌套子请求 在未经适当授权的情况下被处理,允许未经授权的攻击者 注入 SQL (例如通过 `author_exclude` 参数) 并最终实现 RCE。 本仓库提供: | 文件 | 用途 | |------|---------| | `cve-2026-63030.py` | Python CLI — 版本检测、batch endpoint 解析、基于 SLEEP 的盲注 SQLi 确认,以及通过 `--query` 提取数据。支持批量扫描、多线程和代理。 | | `cve-2026-63030.yaml` | Nuclei 模板 — 针对两种 endpoint 变体进行被动版本检查 + 主动时间盲注 SQLi 检测。 | ## 受影响版本 | 分支 | 受影响范围 | |--------|----------------| | 6.8.x | 6.8.0 – 6.8.5 | | 6.9.x | 6.9.0 – 6.9.4 | | 7.0.x | 7.0.0 – 7.0.1 | 已在 **6.8.6**、**6.9.5** 和 **7.0.2** 版本中修复。 ## 环境要求 - Python **3.8+** - `requests` - `beautifulsoup4` ``` pip install requests beautifulsoup4 ``` ## 用法 ``` python3 cve-2026-63030.py [options] ``` ### 选项 | 标志 | 描述 | |------|-------------| | `-u, --url URL` | 单个目标 URL。 | | `-l, --list FILE` | 包含目标 URL 的文件 (每行一个;允许使用 `#` 添加注释),用于批量扫描。 | | `-p, --proxy URL` | 通过代理路由请求 (例如 `http://127.0.0.1:8080`)。 | | `-t, --threads N` | 批量模式的并发数 (默认为 `10`)。 | | `-q, --query SQL` | 通过时间盲注提取的 SQL 语句,例如 `"select @@version"`。 | | `--exploit` | 触发 SLEEP payload 以确认漏洞利用。 | | `--delay SEC` | 盲注 SQLi 的 SLEEP 时间窗口 (默认为 `2`)。 | | `--timeout SEC` | 每个请求的超时时间 (默认为 `10`)。 | | `--silent` | 隐藏 Banner 信息。 | `-u/--url` 和 `-l/--list` 互斥。 ### 示例 ``` # 1. 检测单个目标是否存在漏洞(版本 + batch endpoint) python3 cve-2026-63030.py -u http://target.tld/ # 2. 通过 Burp/ZAP 进行路由 python3 cve-2026-63030.py -u http://target.tld/ -p http://127.0.0.1:8080 # 3. 通过 SLEEP payload 确认漏洞利用 python3 cve-2026-63030.py -u http://target.tld/ --exploit --delay 5 # 4. 通过 time-based blind SQLi 提取数据 python3 cve-2026-63030.py -u http://target.tld/ -q "select @@version" python3 cve-2026-63030.py -u http://target.tld/ -q "select user()" # 5. 批量扫描主机列表并从每个存在漏洞的主机中提取 DB 版本 python3 cve-2026-63030.py -l hosts.txt -t 20 -q "select @@version" ``` ### 工作原理 1. **版本检测** — 解析 `` 标签并对照受影响的范围进行检查。 2. **Endpoint 解析** — 首先尝试 `/wp-json/batch/v1`,仅当第一个无响应时,才回退到 `/?rest_route=/batch/v1`。 3. **确认** — `--exploit` 发送 `SLEEP(n)` payload 并验证响应是否确实发生延迟 (`duration >= delay`)。 4. **提取** — `--query` 通过二分法 (`IF(ASCII(SUBSTRING(...)), SLEEP(n), 0)`) 每次提取一个字符的结果。 ## Nuclei 模板 ``` # 验证 nuclei -tl -t cve-2026-63030.yaml # 扫描 nuclei -t cve-2026-63030.yaml -l hosts.txt nuclei -t cve-2026-63030.yaml -u http://target.tld/ ``` 该模板会探测两种 endpoint 变体,并通过 `duration >= 5` 确认时间盲注 SQLi,且仅在受影响的 WordPress 版本上触发。 ## 免责声明 本项目**仅供教育目的和授权的安全测试**。 您只能将其用于您拥有的系统,或者您已获得**明确的书面许可**进行测试的系统 (例如渗透测试范围、漏洞赏金计划或 CTF)。 未经授权扫描或利用您不拥有或未获授权测试的系统是**违法的**,根据计算机滥用法 (例如美国的 CFAA、英国的《计算机滥用法》以及其他地区的同等法规),这可能构成刑事犯罪。 作者和贡献者对因使用或滥用本软件而产生的任何损害、数据丢失或法律后果**不承担任何责任**。使用此工具即表示您的使用是合法的,并且由您自行承担所有相关风险。 **如有疑问,请勿运行。** ## 参考 - [WordPress 安全公告 — GHSA-ff9f-jf42-662q](https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-ff9f-jf42-662q) - [WordPress 7.0.2 发布说明](https://wordpress.org/news/2026/07/wordpress-7-0-2-release/) - [WPScan](https://wpscan.com/) - [SCLyber — wp2shell 研究](https://slcyber.io/research-center/wp2shell-pre-authentication-rce-in-wordpress-core/) ## 作者 `0xh7ml` — 按原样提供,用于防御性研究和教育。
标签:CISA项目, Python, WordPress, 无后门, 无服务器架构, 编程工具, 远程代码执行, 逆向工具