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, 无后门, 无服务器架构, 编程工具, 远程代码执行, 逆向工具