深入解析Next.js授权绕过漏洞:CVE-2025-29927技术分析与实战

62 阅读3分钟

一个请求头如何攻破Next.js身份验证 — CVE-2025–29927

作者: #$ubh@nk@r 阅读时间: 3 分钟 发布日期: 2025年4月7日 [74] 收听/分享

请按回车键或点击以查看完整大小的图片

引言: 嗨,黑客们 👋。大家好。希望一切顺利。今天我们讨论的话题是NEXT JS CVE。这是一个在Next.js(一个用于构建Web应用的基于React的框架)中发现的关键授权绕过漏洞。那么,让我们直接进入主题。

什么是CVE-2025–29927?

此漏洞允许攻击者通过利用对内部 x-middleware-subrequest 请求头的不当验证,来绕过基于中间件的授权检查。通过将此请求头注入HTTP请求,恶意行为者可以规避负责关键任务(如身份验证和访问控制)的中间件逻辑——从而可能获得对应用程序敏感部分的未授权访问。

查看这个: Next.js中间件中的授权绕过 此漏洞影响12.3.5之前、13.5.9之前、14.2.25之前以及15.2.3之前的Next.js版本。

那么,我们通过一些实验环境来更好地理解它。

实验 1:

这是我们的第一个Web应用程序。 请按回车键或点击以查看完整大小的图片

这是我需要绕过的页面。Burp中的请求如下所示。 请按回车键或点击以查看完整大小的图片

在检查Next JS版本后,我注意到它实际上是易受攻击的版本 (12.2.5)。 请按回车键或点击以查看完整大小的图片

现在我将使用这个请求头:x-middleware-subrequest: middleware (此处原文有推广内容,已按准则省略无关文字)

这将绕过登录页面。之前我得到了307重定向,但现在它是200 OK。这意味着身份验证被绕过了。(我们甚至不需要登录😈) 请按回车键或点击以查看完整大小的图片 请按回车键或点击以查看完整大小的图片

通过Burp探索页面后,我看到了一个 /events 页面。 请按回车键或点击以查看完整大小的图片

该页面显示了内容以及第一面Flag(旗帜)。 请按回车键或点击以查看完整大小的图片

实验 2:

在下一个实验室中,我得到了不同的子域名:subdomain.kappa.ctfio.com。这个页面看起来和之前一样。简单的登录页面。 请按回车键或点击以查看完整大小的图片

在这里,重复之前的步骤后,我得到了这个结果。(x-middleware-subrequest: middleware) 请按回车键或点击以查看完整大小的图片

但在访问 /events 页面后,我一无所获。(尽管我可以利用这个漏洞,但主要目标是找到Flag。) 请按回车键或点击以查看完整大小的图片

侦察时间到💥。 在检查JS文件后,我得到了一些有趣的端点。在这里,我发现了 /events/create,之前并未显示。 请按回车键或点击以查看完整大小的图片

请求该页面后,我得到了一个有效的响应。并且也获得了第二面Flag。 请按回车键或点击以查看完整大小的图片 请按回车键或点击以查看完整大小的图片

如果你想尝试一下,请查看这里。 👉 app.hackinghub.io/hubs/cve-20…

这就是Next.js漏洞可以被利用的方式。希望你学到了一些新东西。

感谢阅读!

如果你喜欢这篇文章,别忘了点赞并关注我以获取更多文章。

黑客快乐~ CSD0tFqvECLokhw9aBeRqqy7pDVE9jtHSghPeFdiPyFK+1nZWAlorvflXa3Q1hNjib0e+9eFcGFktVnNHXZEDP8wZRfSi56X0bWzNdt1q3/Y/UGbZUvmPrzjTy0902ZCP4Mmlxi6YwhWLNb9yT3hbg==