Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-87902-Toolkit — WordPress CVE-2026-87902 LFI 到 RCE 工具包,包含武器化利用链(PEAR RCE、webshell、创建管理员、窃取数据)以及非侵入式 SafeChecker 版本和风险审计器。 | Kitploit
工具/GitHubGitHub/tc4dy/cve-2026-87902-toolkit
防御工具漏洞扫描器Payload生成漏洞利用逆向工程Web应用程序漏洞利用后渗透利用Web安全渗透测试学习与教育红队
134416天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
tc4dy/cve-2026-87902-toolkit

CVE-2026-87902-Toolkit

WordPress CVE-2026-87902 LFI 到 RCE 工具包,包含武器化利用链(PEAR RCE、webshell、创建管理员、窃取数据)以及非侵入式 SafeChecker 版本和风险审计器。

查看仓库

CVEPoC

CVE‑2026‑87902 – WordPress 未授权 LFI→RCE 工具包

Python 3.8+ CVSS Author WordPress

仅限道德用途 – 授权安全测试
本仓库仅为授权安全专业人员、蓝队和渗透测试人员提供工具。
未经授权访问计算机系统在美国 CFAA、英国《计算机滥用法》、土耳其 TCK 243/244 以及全球类似法律下均属违法。


漏洞概述

CVE‑2026‑87902 是 WordPress Core(版本 4.7.0 至 7.1.1)中的一个严重未授权路径遍历和本地文件包含(LFI)漏洞,允许未授权攻击者通过 pagename 查询参数包含任意本地 .php 文件,并在特定服务器条件下通过链接 PEAR 的 pearcmd.php 文件升级为远程代码执行(RCE)。CVSS 评分:9.2(严重)。由 Robert Ressl 于 2026 年 7 月通过 WordPress 的 HackerOne 项目披露。于 2026 年 9 月 22 日在 7.1.2 中修复,并向下回溯移植至 4.7。

该缺陷影响自 2016 年以来的每一个 WordPress 版本——十年的版本通过了代码审查而未被发现。根本原因是 CMS 中访问最频繁的代码路径之一中缺少一次验证调用。

工作原理

  1. 未净化的模板解析 – wp-includes/template.php 中的 get_page_template() 从 pagename 查询变量构建模板候选。同一函数中相邻的代码路径应用了 validate_file() 来阻止 ../ 序列,但 $pagename 分支没有调用它。pagename 中的任何遍历都会未经检查地通过。

  2. 双重编码遍历绕过 – WordPress 对 pagename 应用 sanitize_title_for_query(),该函数将字面点(.)替换为连字符以防止遍历。但该函数操作的是已解码的输入,且不会递归解码。攻击者发送 %252e%252e%252f;Web 服务器将其解码一次为 %2e%2e%2f;净化器看不到字面点并放行;然后 get_page_template() 在函数内部再次调用 urldecode(),产生 ../。

  3. 主题目录前提条件 – 活动主题必须包含一个名称以 page- 开头的顶级目录(例如 page-templates/)。构造的文件名 page-{pagename}.php 随后通过遍历逃逸主题根目录。较旧的默认主题(Twenty Twelve、Twenty Fourteen)和流行的第三方主题(Neve、Hestia、Sydney)都附带此目录。继承自此类父主题的子主题也满足前提条件。

  4. locate_template() 中的 LFI 汇聚点 – 候选路径被传递给 locate_template(),后者搜索主题目录。由于遍历解析到这些目录之外的文件,而该函数仅检查 file_exists(),任何可读的 .php 文件都会以完整 Web 服务器权限被包含。这使得 LFI 对任何满足主题前提条件的未修补站点无条件成立——包括包含数据库凭据和认证盐的 wp-config.php。

  5. PEAR pearcmd.php RCE 升级 – PEAR 随许多 PHP 安装一起提供。其 pearcmd.php 通常仅限 CLI,但当 register_argc_argv=On 时,PHP 会从 URL 查询字符串填充 $_SERVER['argv']。攻击者通过 LFI 包含 pearcmd.php,将 config-create 作为参数传递,并提供 PHP 代码及输出路径(/tmp/shell.php)。PEAR 将攻击者的代码写入磁盘;第二次包含执行它。

  6. 第二条利用路径 – 结合 name(首页 slug)、page_id(文章页 ID)、preview=true 和 pagename 载荷的请求会将 WP_Query 转入其 post_name 分支,该分支从不通过 sanitize_title_for_query() 重写 pagename。这允许遍历中出现字面点。需要没有 single.php 的主题。

  7. 服务器配置要求 – RCE 取决于实际部署中常见的两个条件:pearcmd.php 存在/可读(在共享主机、cPanel、官方 PHP Docker 镜像中常见),以及 register_argc_argv=On(PHP 8.5 以下的默认值)。PHP 8.5 将默认值改为 Off。在没有 PEAR 的现代 PHP 8.5+ 服务器上,利用止步于 LFI。

  8. 补丁 – WordPress 7.1.2 增加了两层防御:(a) pagename 分支中缺失的 validate_file() 调用,以及 (b) 由 locate_template() 为每个解析的模板调用的新函数 _wp_is_template_path_allowed()。该函数拒绝包含 .. 的路径,然后通过 realpath() 解析真实路径并验证其位于允许的主题目录之一内。这种纵深防御关闭了汇聚点,而不仅仅是一条通往它的路径。

  9. 野外的活跃利用 – 补丁发布后 5 小时(2026 年 9 月 22 日 17:44 UTC)观察到首批恶意请求。次日流量增加十倍。观察到三个阶段:config-show 侦察 → 核心文件检测 → config-create 武器化。载荷文件名包括 wp-pear-rce-flag.php、poc87902.php、luci_*.php、zeta_*.php,写入 /tmp 和 /var/tmp。攻击 IP:169.58.48.193、169.58.48.195、2001:df1:e8c0::106b。

  10. 影响 – 以 Web 服务器权限执行代码。完全接管站点、窃取 wp-config.php 凭据、数据外泄、安装 webshell、创建管理员用户、反向 shell、通过修改插件/主题进行供应链攻击,以及横向移动到连接的服务。CVSS 9.2 评分反映了网络可利用、无需认证、高机密性/完整性/可用性影响。高攻击复杂度反映了主题和服务器前提条件,但在典型的共享主机上这些条件经常被满足。

受影响版本

  • 4.7.0 – 4.7.37 – 存在漏洞
  • 4.8.0 – 4.8.32 – 存在漏洞
  • 4.9.0 – 4.9.33 – 存在漏洞
  • 5.0.0 – 5.0.29 – 存在漏洞
  • 5.1.0 – 5.1.26 – 存在漏洞
  • 5.2.0 – 5.2.28 – 存在漏洞
  • 5.3.0 – 5.3.25 – 存在漏洞
  • 5.4.0 – 5.4.23 – 存在漏洞
  • 5.5.0 – 5.5.22 – 存在漏洞
  • 5.6.0 – 5.6.21 – 存在漏洞
  • 5.7.0 – 5.7.19 – 存在漏洞
  • 5.8.0 – 5.8.17 – 存在漏洞
  • 5.9.0 – 5.9.18 – 存在漏洞
  • 6.0.0 – 6.0.16 – 存在漏洞
  • 6.1.0 – 6.1.14 – 存在漏洞
  • 6.2.0 – 6.2.13 – 存在漏洞
  • 6.3.0 – 6.3.12 – 存在漏洞
  • 6.4.0 – 6.4.12 – 存在漏洞
  • 6.5.0 – 6.5.12 – 存在漏洞
  • 6.6.0 – 6.6.9 – 存在漏洞
  • 6.7.0 – 6.7.9 – 存在漏洞
  • 6.8.0 – 6.8.10 – 存在漏洞
  • 6.9.0 – 6.9.9 – 存在漏洞
  • 7.0.0 – 7.0.6 – 存在漏洞
  • 7.1.0 – 7.1.1 – 存在漏洞

补丁

  • 升级到 4.7.37、4.8.32、4.9.33、5.0.29、5.1.26、5.2.28、5.3.25、5.4.23、5.5.22、5.6.21、5.7.19、5.8.17、5.9.18、6.0.16、6.1.14、6.2.13、6.3.12、6.4.12、6.5.12、6.6.9、6.7.9、6.8.10、6.9.9、7.0.6 或 7.1.2 或更新版本。
  • 如果无法升级,请重命名或删除活动主题中的 page-* 目录,在 php.ini 中设置 register_argc_argv=Off,并在 WAF 层面阻止 pagename 参数中的双重编码遍历。

[</>] 工具

工具用途目标用户
exploit.py完整红队工具包,具有 LFI 检测、PEAR RCE 链、管理员用户创建、webshell 安装、反向 shell、批量扫描、隐蔽模式、代理轮换和完整攻击链。红队 / 授权渗透测试人员(仅限道德用途)
safecheck.py非侵入式漏洞检查器,可检测 WordPress 版本、验证暴露情况并评估风险,而不包含任何文件或执行任何载荷。生成 JSON 报告。蓝队 / 安全审计人员

[</>] 功能对比

功能exploit.pysafecheck.py
漏洞检测[+][+]
版本检测[+][+]
主题 page-* 目录检查[+][+]
PEAR pearcmd.php 可达性[+][+]
register_argc_argv 检查[+][+]
WAF 行为探测[-][+]
双重编码 LFI 探测[+][-]
PEAR config-create RCE[+][-]
管理员用户创建[+][-]
Webshell 安装[+][-]
反向 shell[+][-]
窃取 wp-config.php[+][-]
完整攻击链[+][-]
批量扫描(多线程)[+][+]
代理支持[+][+]
代理轮换[+][-]
User‑Agent 轮换(OPSEC)[+][-]
抖动(OPSEC)[+][-]
速率限制器[+][-]
非侵入式(安全)模式[-][+]
风险评估报告[+][+]
缓解建议[-][+]
JSON 报告[+][+]
CSV 报告[+][+]
HTML 报告[+][+]
SQLite 输出[+][+]
自定义 User‑Agent[+][+]
SSL 验证控制[+][+]

[+] 用例摘要

场景推荐工具
蓝队 – 验证您的 WordPress 是否存在漏洞safecheck.py
安全审计 – 非侵入式漏洞评估safecheck.py
红队 – 带完整利用的授权渗透测试exploit.py
漏洞赏金 – 负责任披露测试safecheck.py
批量扫描 – 检查多个目标的漏洞exploit.py(仅检测)
事件响应 – 检查系统是否已被入侵safecheck.py

[+] 安装

git clone https://github.com/tc4dy/CVE-2026-87902-Toolkit
cd CVE-2026-87902-Toolkit
pip install -r requirements.txt

requirements.txt

requests
urllib3

[/] 参数

exploit.py 参数

参数描述
-u, --url单个目标 WordPress URL(例如 http://wordpress.example.com)
-f, --file包含目标列表的文件(每行一个),用于批量扫描
--pipe从 stdin 读取目标
--exploit检测后执行利用
--create-admin创建持久管理员用户(格式:USER:PASS)
--webshell通过 RCE 安装 webshell
--reverse-shell触发反向 shell(格式:LHOST:LPORT)
--loot窃取 wp-config.php 及其他文件
--threads多目标的线程数(默认:8)
--timeout请求超时(默认:15s)
--retry最大重试次数(默认:3)
--proxyHTTP/HTTPS 代理(例如 http://127.0.0.1:8080)
--proxy-list用于轮换的代理文件(每行一个)
--proxy-rotate代理轮换策略(round-robin、random、sticky)
--jitter请求之间的随机抖动
--jitter-range抖动最小、最大秒数(默认:0.1,2.0)
--delay请求之间的固定延迟
--stealth启用隐蔽模式(UA 轮换 + 抖动)
--insecure禁用 TLS 验证
--user-agent自定义 User-Agent
--max-body最大响应体大小
--concurrent-per-host每主机最大并发请求数
--rate-limit每秒最大请求数
--exclude逗号分隔的要排除的主机
-o, --output将报告保存到文件(.json、.csv、.html、.jsonl)
--dbSQLite 数据库文件
-v, --verbose详细输出
-q, --quiet静默模式
--no-banner抑制横幅

safecheck.py 参数

下载工具