kulichr/wp2shell
GitHub: kulichr/wp2shell
WordPress 核心 wp2shell 漏洞链的非侵入式版本指纹筛查工具,通过版本比对和路由可达性检测评估目标的漏洞暴露风险,而非发送实际攻击 payload。
Stars: 0 | Forks: 0
# wp2shell-check
**CVE-2026-63030** / **CVE-2026-60137**("wp2shell")的非侵入式检查工具,这是一个
WordPress 核心的未授权 RCE 攻击链(REST API 批量路由混淆 →
SQL 注入 → RCE)。
- 受影响版本:WordPress 6.9.0–6.9.4、7.0.0–7.0.1、7.1 beta(完整 RCE 攻击链);
6.8.0–6.8.5(仅 SQL 注入,CVE-2026-60137)。
- 已修复版本:6.8.6、6.9.5、7.0.2。
## 功能说明
- 远程指纹识别 WordPress 版本(`readme.html`,主页
``,`/feed/` generator 标签)。
- 根据上述版本范围,将每个目标分类为漏洞存在 / 已修复 / 未知。
- 检查存在漏洞的 REST 路由(`/wp-json/batch/v1`,
`?rest_route=/batch/v1`)是否可达 —— 这是一个次要信号,用于判断是否
已经部署了 WAF/REST-API 缓解措施。
## 不能做的事情
它**不会发送任何 SQL 注入或 RCE payload**。完整的漏洞利用链在此
并未经过独立验证,向生产环境网站发送未经测试的注入 payload
可能会造成实际破坏,即使你“只是测试”。请将此工具视为
安全的风险筛查,并通过在主机上运行 `wp core version` 或使用经过授权的厂商扫描工具来确认实际情况。
仅在你获得授权进行测试的系统上运行此工具。
## 使用方法
```
python3 wp2shell_check.py https://site1.example.com https://site2.example.com
python3 wp2shell_check.py -f targets.txt -o report.csv --workers 8
python3 wp2shell_check.py -f targets.txt --insecure # internal self-signed certs
```
`targets.txt`:每行一个 URL/主机名,`#` 用于注释。
退出码:`2` = 发现漏洞,`1` = 至少一个目标的版本无法确定,`0` = 全部已修复。
## 关于漏报的说明
batch 路由返回 `404` 并不一定意味着“已修复” —— 它也可能意味着
WAF/CDN 或安全插件在存在漏洞的安装实例前端拦截了匿名的 REST API 访问
(检查响应头/正文以获取
WAF 指纹特征)。只有升级到已修复的版本才能真正移除
存在漏洞的代码。
## 环境要求
Python 3.8+,仅使用标准库(无额外依赖)。
标签:Python, WordPress, 加密, 密码管理, 插件系统, 文件完整性监控, 无后门, 漏洞扫描器, 逆向工具