Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-27886-check — 检测Strapi实例是否易受CVE-2026-27886漏洞(未认证的布尔预言机泄露管理员密钥)影响。 | Kitploit
工具/GitHubGitHub/bishopfox/cve-2026-27886-check
侦察漏洞分析漏洞利用Web应用程序漏洞利用信息收集渗透测试
GitHubbishopfox/cve-2026-27886-check

CVE-2026-27886-check

检测Strapi实例是否易受CVE-2026-27886漏洞(未认证的布尔预言机泄露管理员密钥)影响。

查看仓库
1113个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-27886 漏洞评估工具

安全检测 Strapi 实例是否受 CVE-2026-27886 影响,无需执行完整的账户接管流程。详见 Bishop Fox 博客上的 完整分析。

描述

CVE-2026-27886 是 Strapi 版本 4.0.0 至 5.36.1 中的一个未认证参数清理绕过漏洞,允许远程未认证攻击者通过公共内容 API 泄露管理员机密。框架中的查询清理器 @strapi/utils 仅处理已记录的 filters、sort、fields 和 populate 查询键,而静默保留请求中所有其他顶级键。这些未知键随后会通过 transformQueryParams 传递,并最终作为 SQL WHERE 子句进入 strapi.db.query(...)。通过针对任何公共内容 API 集合探测 where[updatedBy][resetPasswordToken][$startsWith]=<prefix>,攻击者可以逐个字符地泄露管理员机密,并通过响应中的 meta.pagination.total 字段获取结果。

本工具通过以下方式进行非破坏性漏洞测试:

  1. 发送基线 GET /api/<collection>
  2. 发送相同的 GET 请求并附加 ?where[id][$lt]=-1
  3. 比较两次 meta.pagination.total 值,以判断 where 子句是否到达了数据库层

where[id][$lt]=-1 谓词无法匹配任何真实行,因此当该子句在数据库层生效时,响应将收缩为零行。当补丁已应用时,未知的 where 键会被清理器的白名单丢弃,查询构建完成后返回的响应与基线相同。该探测从不触及私有管理员列,也不修改任何数据。

  • 有漏洞的服务器 返回不同的总数:基线返回至少一行,而谓词请求返回零行,因为 where 子句在数据库层生效。
  • 已修补的服务器(Strapi 5.37.0 或更高版本)对两个请求返回相同的总数,因为 sanitizeQuery 会在到达数据库之前移除所有无法识别的顶级键。
  • 非 Strapi 服务器、不可达的端点或空集合 将报告 INCONCLUSIVE 结果。

在有漏洞的服务器上,该工具随后会通过 where[updatedBy][email][$startsWith]=<prefix> 逐个字符地枚举管理员的电子邮件地址。它不会链接到管理员账户接管。

安装

root@kitploit:~
git clone https://github.com/BishopFox/CVE-2026-27886-check
cd CVE-2026-27886-check

无外部依赖。扫描仪仅使用 Python 标准库模块。

使用

测试 Strapi 服务器的公共内容 API 集合端点。Strapi 将内容类型的 pluralName 映射到 URL 路径,因此确切名称因部署而异。

root@kitploit:~
python3 CVE-2026-27886-check.py <ENDPOINT>

示例:有漏洞的服务器

root@kitploit:~
$ python3 CVE-2026-27886-check.py http://target.example.com/api/articles
[+] Target: http://target.example.com/api/articles
[+] Differential confirmed: baseline total=1, where-test total=0 -> VULNERABLE
[+] Enumerating admin email
    admin email = [email protected]
[+] Done. To remediate, upgrade to Strapi 5.37.0 or later.

示例:已修补的服务器

root@kitploit:~
$ python3 CVE-2026-27886-check.py http://target.example.com/api/articles
[+] Target: http://target.example.com/api/articles
[+] Differential check: baseline total=1, where-test total=1 -> NOT VULNERABLE

前置条件

仅在满足以下条件时,该工具才能检测到漏洞:

  • 目标运行的是 Strapi 4.0.0 至 5.36.1
  • 公共角色已获授予至少一个内容类型的 find 权限
  • 该内容类型中至少有一行的 updated_by_id 非空
  • 目标集合 URL 可达

如果任何条件不满足,该工具将报告 INCONCLUSIVE 结果。

许可证

本代码基于 MIT 许可证 分发。

法律免责声明

未经事先双方同意使用此工具攻击目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。开发者不承担任何责任,也不对因使用本程序造成的任何误用或损害负责。

另见

  • Strapi 安全公告 GHSA-rjg2-95x7-8qmx
  • Bishop Fox 博客:完整技术分析
  • NVD — CVE-2026-27886
下载工具