用途:针对 Next.js/SSR 应用的安全测试与漏洞排查,覆盖可导致鉴权绕过、SSRF、数据泄露的高价值问题。资料中给出的主要攻击面包括:/_next/image 图片优化器(SSRF 候选)、/_next/data/BUILD_ID/.json(IDOR 候选)、/__nextjs_original-stack-frame 调试端点、/_next/static/chunks/ JS 包(源码映射候选)、/api/ 路由,以及 HTML 中的 NEXT_DATA 和 x-nextjs- 响应头。
主要能力与用法(按资料分段): 1)指纹与版本识别:用 curl 抓取页面 buildId,检查 x-powered-by/x-nextjs 响应头,从 framework*.js 提取版本,测试 chunk 的 .js.map 是否暴露。 2)Server Actions 滥用:Next.js 14+ 使用 Next-Action 头,可从 HTML 或 JS 包中查找 action ID,再直接 POST 调用,判断无有效会话时是否仍执行或改数据。 3)中间件鉴权绕过:直接访问受保护路由,尝试 /_next/data/ JSON 路径、/_next/static 前缀、编码路径等;并测试 x-middleware-subrequest 头(CVE-2025-29927,修复版本 12.3.5/13.5.9/14.2.25/15.2.3),断言内部子请求以跳过中间件。 4)/_next/image SSRF:构造 url 参数指向云元数据、内网或外部 Collaborator 地址;资料强调该端点只允许 images.remotePatterns/images.domains 白名单,未列入默认返回 400,200 返回的是优化后图片而非上游响应体,因此状态码不能作为 SSRF 确认依据,只能用带唯一子域名的带外回调或已知内外部目标的响应体差异验证;并注明 CVE-2024-34351 属 Server Actions SSRF,影响 13.4.0 至 <14.1.1(修复于 14.1.1),不影响 Vercel 等基于 Host 路由的提供商。 5)/_next/data/ IDOR 与 NEXT_DATA 敏感 props 检查。 6)ISR 缓存投毒:用唯一标记注入预览参数,再从干净 URL 与其他客户端验证缓存是否持久,并检查 x-nextjs-cache/age 头,避免把反射误判为投毒,同时可探测 /api/revalidate 端点。 7)调试端点:__nextjs_launch-editor/_nextjs_original-stack-frame 仅在 next dev 挂载,生产构建返回 404 属正常,非 404 才是真实问题。 8)环境变量泄露:在 JS 包中搜索 NEXT_PUBLIC*,并从 NEXT_DATA 解析 props 查找密钥。
验证标准与严重性:Server Action 无会话执行或改数据为高危/严重;图片 SSRF 达云元数据为严重;中间件绕过访问管理后台为高危;仅源码映射暴露为中低危。
限制:以上为资料中明确记录的内容,具体目标环境差异、授权范围、工具依赖与完整利用链资料未提供;测试须在合法授权下进行。