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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
WPSniper — CVE-2026-87902 检测器。WordPress get_page_template LFI 类。仅检测。授权实验室。 | Kitploit
工具/GitHubGitHub/ynsmroztas/wpsniper
侦察漏洞扫描器Web漏洞扫描器漏洞分析信息收集Web安全渗透测试
GitHubynsmroztas/wpsniper

WPSniper

CVE-2026-87902 检测器。WordPress get_page_template LFI 类。仅检测。授权实验室。

查看仓库
32321天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

WPSniper — CVE-2026-87902 检测器

WPSniper

CVE-2026-87902 WordPress Core 检测器。

get_page_template() 可被操纵,使页面模板解析包含活动主题之外的可读本地 .php 文件。WPSniper 对站点进行指纹识别,选取一个已发布的 page_id,探测 include 类,仅当探测响应体中存在唯一的强 PEAR 特征时,才输出 VULN。

仅检测。无 webshell。无 pearcmd config-create。无操作系统命令执行。

python3 WPSniper.py -u https://lab.wordpress.local --shell

流水线:

subfinder -d lab.example -silent | httpx -silent | python3 WPSniper.py -t 8

限定范围。自有实验环境。这就是运行它的全部许可。


已脱敏的 WPSniper 实验会话

类别

WordPress 从 URL 派生、经 url 解码的 pagename 查询变量构建页面模板名称:

page-{$pagename}.php

随后 locate_template() 包含该文件。在受影响的版本中,解析后的路径并未被强制限制在允许的主题目录内。pagename 中的双重编码路径遍历在 sanitize_title 处理后仍能存活,足以让 get_page_template() 解码一次并跳出主题目录树。

在闭合的 include 之前存在两个前提条件:

  1. 活动的父主题或子主题有一个顶层目录,其名称以 page- 开头(WordPress 文档中的 page-templates/ — Twenty Twelve、Twenty Fourteen、Neve、Hestia、Sydney 等)。
  2. Web 服务器账户存在可读的 .php 目标文件。检测器使用标准 PEAR CLI 横幅作为 include 判定依据。它不会写入任何文件。

当这些条件加上可写/可执行的利用链同时满足时,RCE 是可能的后续影响。该后续影响不在本仓库中。

CVE 发现者致谢:Robert (ressl),通过 WordPress HackerOne。公告:GHSA-7hp8-65ch-5whp。


WPSniper 检测流程

操作员操作步骤

步骤操作信号
1首页 + generator + /feed/是 WordPress 吗?版本?主题别名?
2REST /wp-json/wp/v2/pages 或 HTML 中的 page_id=一个已发布的页面,使模板路径实际执行
3GET /wp-content/themes/{slug}/page-templates/200 / 401 / 403 = 目录存在
4基线 ?page_id=N 对比探测 pagename=响应体摘要 + 唯一强 PEAR 特征

版本表已内置。4.7.0–7.1.1 为受影响窗口。已修补版本:7.1.2、7.0.6、6.9.9、6.8.10 … 回溯至 4.7.37。

确认规则

一篇博客文章中提到“pearcmd”的营销页面不算命中。

仅当以下全部为真时才判定 VULN:

  • 探测响应体摘要 ≠ 基线 ?page_id= 摘要
  • 至少一个强特征为探测所独有(PEAR Version:、Usage: pear、PEAR_Config、Commands for pear、config-create、DEPRECATED: PEAR commands、pear.php)
  • 弱特征 pearcmd / PEAR 单独出现时被丢弃,尤其是当它已存在于基线 HTML 中时

INFO = 受影响版本和/或 page-templates 目录存在,include 未闭合。不要将 INFO 报告为严重漏洞。

SAFE = 已修补分支,或 include 与基线一致。

SKIP = 非 WordPress,URL 无效。

/etc/passwd 不是此 CVE 的正确判定依据。locate_template() 会追加 .php。交互式 passwd 命令的存在是为了让你亲眼看到这一点。出现 root:x:0:0: 片段是不寻常的,必须手动验证。

安装

python3 -m pip install -r requirements.txt
python3 WPSniper.py -u https://lab.wordpress.local

需要 requests。

参数

参数含义
-u URL单个目标
-l fileURL 列表
stdinsubfinder | httpx | WPSniper
-t N列表上的线程数(默认 6)
-q静默行 + 摘要
--shell对单个 -u 进行交互式探测
--timeout秒数(默认 14)

--shell 在流水线中被忽略。这是有意为之。

交互式 shell

python3 WPSniper.py -u https://lab.wordpress.local --shell
[email protected] ▶
  1 fp        版本 / 主题 / 是否已修补?
  2 pages     REST 已发布页面
  3 theme     page-templates 目录
  4 probe     PEAR include + 基线差异   (不写入)
  5 diff      同上,打印 Δ + 特征
  6 passwd    尝试 …/etc/passwd         (此类包含 *.php)
  7 include P 包含一个不带后缀的 .php 路径
  8 save      最后的响应体 → /tmp/wpsniper-probe.html
  9 help
  0 exit

每次探测都会打印完整 URL 和可直接复制粘贴的 curl。在报告中使用它。不要编造第二个请求。

7 include 用于你已放置的授权实验文件。帮助文本中的示例名称是见证标记,不是投放器。

实验会话(已脱敏)

WPSniper v1.3   CVE-2026-87902  get_page_template LFI
[radar] target  https://lab.wordpress.local
[radar] generator=6.8.3  theme=twentytwelve  status=affected
[radar] page_id=2
[radar] theme dir /wp-content/themes/twentytwelve/page-templates/ → 403

VULN  lab.wordpress.local  unique=['PEAR Version:','Usage: pear'] Δlen=+18420

patched  7.1.2 · 7.0.6 · 6.8.10 · backports to 4.7.37

本页中的主机是实验标签。真实客户主机名不应出现在公开截图中。

修补

升级至 7.1.2 或你所在分支的回溯版本:

7.0.6 · 6.9.9 · 6.8.10 · 6.7.9 · 6.6.9 · 6.5.12 · 6.4.12 · 6.3.12 · 6.2.13 · 6.1.14 · 6.0.16 · 5.9.18 … 直至 4.7.37。

7.1.2 还要求解析后的模板路径保持在允许的主题目录内。这才是真正的修复,而非 WAF 规则。

本仓库不会做的事

  • 无 webshell,无 pearcmd config-create,无 system() 包装器
  • 无大规模扫描互联网的操作手册
  • 不声称每个 WordPress 6.x 站点都可 RCE
  • 不以原始 /etc/passwd 作为主要确认依据

如果你需要一份发现报告:附上 WPSniper 已打印的 curl、唯一的强特征,以及基线摘要不匹配。

免责声明

仅限授权安全测试。对你不拥有或未获得书面授权的主机运行此工具,是你的问题,不是工具的问题。

链接

  • 网站:ynsmroztas.github.io
  • X:@ynsmroztas
  • CVE:CVE-2026-87902

mitsec · Yunus Emre Öztaş

下载工具