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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2026-100671-poc — 仅本地概念验证验证器,用于 CVE-2026-100671,复现针对回环目标的 Grav Twig 页面缓存会话 Cookie 泄露与重放。 | Kitploit
工具/GitHubGitHub/canhieu/cve-2026-100671-poc
漏洞分析漏洞利用Web应用程序漏洞利用安全虚拟化Web安全渗透测试
GitHubcanhieu/cve-2026-100671-poc

cve-2026-100671-poc

仅本地概念验证验证器,用于 CVE-2026-100671,复现针对回环目标的 Grav Twig 页面缓存会话 Cookie 泄露与重放。

查看仓库
62天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-100671 — Grav Twig 会话 Cookie 泄露

针对 Grav 2.0.25 中修复的 Grav content-Twig/page-cache 会话接管漏洞的最小化、仅限本地的验证工具。

安全公告:

  • CVE-2026-100671
  • GHSA-pp89-h475-7gj6
  • Grav 2.0.25 发布

适用范围

exploit.py 被刻意限制为仅针对回环目标:

  • 127.0.0.1
  • ::1
  • localhost

它拒绝远程主机,仅跟随回环重定向,使用 Python 标准库 HTTP 客户端,应用请求超时,并且从不打印 bearer token、cookie 或响应正文。

仅可用于你拥有或明确授权测试的 Grav 实例。该脚本会在本地实验环境中创建一个公开的证明页面。如果实验环境在多次运行之间保留内容,请在测试后删除该页面。

漏洞利用链

  1. 一个低权限页面写入者发布包含沙箱化 Twig 的内容。
  2. get_cookie() 在服务端读取访问管理员的会话 cookie。
  3. Grav 将 Twig 处理后的页面输出缓存,且不包含会话身份标识。
  4. 一个未认证请求即可获取缓存的 cookie 值。
  5. 将该值重放到本地 API 即可认证为管理员。

页面写入账户仅需文档中记载的低权限写入路径。它不需要 api.pages.read、admin.* 或超级管理员权限。受害管理员只需访问该公开页面一次。

受影响版本

  • Grav 2.0.19 至 2.0.24:在随附的默认 content-Twig 配置下存在漏洞。
  • Grav 2.0.0 至 2.0.18,以及 1.7.x:仅在显式启用 content Twig 时受影响。
  • Grav 2.0.25:已修复。

实验环境要求

运行本地 Grav 实验环境,需满足:

  • 启用 Grav API 插件;
  • 启用 Grav Login 插件;
  • 一个低权限写入者账户,能够获取 API token 并创建页面;
  • 一个管理员账户;
  • 目标页面路由可公开读取。

此双文件仓库不提供 Grav、PHP、插件或账户的配置。

运行

通过环境变量设置凭据,使其永远不会进入源代码管理:

export GRAV_BASE_URL=http://127.0.0.1:8080
export GRAV_WRITER_USERNAME=low
export GRAV_WRITER_PASSWORD='local-writer-password'
export GRAV_ADMIN_USERNAME=admin
export GRAV_ADMIN_PASSWORD='local-admin-password'

python3 exploit.py

基础 URL 必须保持为回环地址。默认路由是随机的。在比较多次运行时,可以选择固定路由:

python3 exploit.py --route /cookie-proof-24

预期的存在漏洞结果:

page_create_status=201
admin_login_status=200
victim_page_status=200
attacker_page_status=200
cached_victim_cookie_visible_to_attacker=yes
admin_cookie_value_match=yes
replayed_cookie_api_status=200
result=VULNERABLE

当复现出预期结果时,命令退出码为 0;未复现时为 1;设置或传输错误时为 2。

修复版本检查

对 Grav 2.0.25 运行相同命令:

python3 exploit.py --expect fixed

预期的修复后行为:攻击者不可见任何会话值,且会话重放不成功。使用 --expect fixed 时,干净的修复结果退出码为 0。

修复措施

升级到 Grav 2.0.25 或更高版本。对于较旧的部署,安全公告列出了以下临时控制措施:

  • 通过 security.twig_content.process_enabled: false 禁用 content Twig;或
  • 设置 system.pages.never_cache_twig: true;
  • 清除现有的 Grav 缓存;
  • 轮换管理员会话。

不要将 HttpOnly、Secure 或 SameSite 视为修复措施:存在漏洞的 cookie 读取发生在 Twig 渲染期间的服务端。

披露

由 canhieu 报告。此仓库是对已公开安全公告的可复现性辅助工具,而非远程扫描器或凭据收集工具。

下载工具