Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/houmanpashaei/cve-2025-29927
ReconhecimentoScanners de VulnerabilidadesExploração de Aplicações WebSegurança WebTestes de PenetraçãoRastreador
GitHubhoumanpashaei/cve-2025-29927

CVE-2025-29927

Este é um scanner para CVE-2025-29927.

Ver Repositório
516há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Scanner Avançado de Vulnerabilidade CVE-2025-29927

Este é um scanner de nível profissional projetado para detectar a vulnerabilidade de bypass de middleware CVE-2025-29927 em aplicações Next.js.

🧠 O Que Faz

  • Usa um navegador headless real (Playwright) para rastrear profundamente um site alvo (incluindo conteúdo renderizado por JS)
  • Testa caminhos internos com cabeçalhos X-Middleware-Subrequest criados para contornar o middleware do Next.js
  • Compara o status HTTP e o comprimento da resposta para identificar desvios
  • Totalmente multi-threaded para alto desempenho

🚀 Início Rápido

Instalar (Localmente)```bash

pip install -r requirements.txt playwright install

### Executar o scanner```bash
python main.py --domain https://example.com --threads 10 --timeout 10 --save

Todas as Opções da CLI```bash

python main.py --help

| Opção         | Descrição                                |
|----------------|--------------------------------------------|
| `--domain`     | URL base do site alvo (obrigatório)        |
| `--user-agent` | User-agent personalizado (padrão: string do Chrome) |
| `--timeout`    | Tempo limite da solicitação (padrão: 10 segundos) |
| `--proxy`      | Endereço do proxy (opcional)               |
| `--save`       | Salvar resultados em `results.txt`         |
| `--threads`    | Número de threads (padrão: 10)            |
| `--wordlist`   | Worlist inclui Caminhos Comuns             |

---

## 🐳 Uso do Docker

### Construir a Imagem Docker```bash
docker build -t cve-scanner .

Executar Scanner```bash

docker run -it --rm cve-scanner --domain https://example.com --save

---

## ⚙️ GitHub Actions

Este projeto inclui um workflow do GitHub Actions para testar a configuração no push. Ele:
- Instala dependências
- Instala navegadores Playwright
- Executa uma verificação `--help`

Veja `.github/workflows/python.yml`.

---

## 🧱 Estrutura```
.
├── main.py              # Entry point
├── config.py            # CLI parser
├── crawler.py           # Playwright crawler
├── scanner.py           # Multi-threaded vulnerability testing
├── requirements.txt
├── Dockerfile
└── .github/workflows

🧠 Mais Detalhes

🧠 Design Avançado do Scanner de Vulnerabilidade CVE-2025-29927

Visão Geral da Vulnerabilidade CVE-2025-29927

CVE-2025-29927 é uma falha crítica de segurança no Next.js que permite a invasores contornar a autenticação e autorização baseadas em middleware. Ao incluir um cabeçalho interno especial (X-Middleware-Subrequest) nas requisições HTTP, um invasor pode enganar o servidor Next.js para pular a execução do middleware, obtendo assim acesso a rotas protegidas​. Na prática, uma requisição que normalmente seria bloqueada pelo middleware de autenticação (por exemplo, retornando 401/403 ou redirecionando para login) é processada normalmente se este cabeçalho estiver presente, efetivamente contornando as verificações de segurança. Esta vulnerabilidade afeta as versões do Next.js 11.1.4 até 15.2.2, e os administradores são instados a aplicar patches ou implementar mitigações (como remover este cabeçalho em proxies) para proteger suas aplicações​.

Contornando o middleware do Next.js ao incluir o cabeçalho especial X-Middleware-Subrequest, permitindo acesso direto a um recurso protegido (exploit CVE-2025-29927)

Detectar esta vulnerabilidade em uma aplicação web requer descobrir endpoints internos e testá-los com o cabeçalho malicioso para verificar se o acesso não autorizado é possível. Abaixo está um plano de design para um script Python avançado que irá rastrear um site alvo (com suporte total a JavaScript) e escanear por CVE-2025-29927, atendendo a todos os requisitos especificados.

🚀 Ferramentas e Bibliotecas para Crawling e Escaneamento Dinâmicos

Para atender ao requisito de crawling profundo incluindo conteúdo renderizado por JavaScript, usaremos Playwright (preferível ao Selenium por sua velocidade e API moderna). Playwright é uma poderosa biblioteca de automação de navegador headless que pode lidar com aplicações web dinâmicas e frameworks JS modernos. Comparado ao Selenium, Playwright oferece uma API mais moderna (construída sobre o Protocolo Chrome DevTools) e suporta operação síncrona e assíncrona, o que pode proporcionar melhor desempenho para nosso caso de uso​. As principais bibliotecas e suas instruções de instalação incluem:

  • playwright – para automação de navegador headless (para carregar SPAs ou páginas que exigem JS). (Instalação: pip install playwright e execute playwright install para obter os binários do navegador).
  • requests ou httpx – para enviar requisições HTTP durante a fase de escaneamento. Podemos usar requests por simplicidade ou httpx/aiohttp para suporte assíncrono. (Instalação: pip install requests ou pip install httpx).
  • bs4 (BeautifulSoup) – para analisar HTML e extrair links quando necessário. Playwright pode consultar diretamente o DOM, mas usar BeautifulSoup no conteúdo HTML da página é direto para encontrar tags de âncora. (Instalação: pip install beautifulsoup4).
  • concurrent.futures (nativo) ou asyncio – para implementar concorrência. Para multi-threading, o concurrent.futures.ThreadPoolExecutor do Python será usado (sem instalação extra). Se usar uma abordagem assíncrona, o asyncio do Python com httpx pode ser usado para requisições paralelas.
  • (Opcional) argparse – para analisar argumentos de linha de comando se quisermos uma interface CLI em vez de um menu interativo. (módulo nativo)
  • (Opcional) rich ou colorama – para saída de console colorida ou formatada para melhor legibilidade. (Instalação: pip install rich ou pip install colorama).

Justificativa: Playwright é escolhido por sua capacidade de raspar conteúdo dinâmico sem grandes complexidades. “Usando Playwright podemos automatizar navegadores headless... para navegar na web como um humano, o que o torna ótimo para raspar sites dinâmicos com JavaScript”​. Isso garante que nosso crawler possa ver links ou elementos de UI gerados por scripts (que um crawler simples baseado em requests perderia).

🚀 Crawling com Suporte a JavaScript (Descoberta Dinâmica de Caminhos)

O módulo crawler usará Playwright em modo headless para realizar crawling profundo do site alvo. O objetivo é descobrir caminhos internos (endpoints) para testar, incluindo aqueles revelados apenas após a execução de JS. Pontos chave do design do crawler:

Navegação Headless do Navegador: Inicie uma instância do navegador (ex.: Chromium) em modo headless via Playwright. Use um Contexto de Navegador com um User-Agent personalizado se especificado pelo usuário (mais sobre isso na próxima seção). Por exemplo, podemos criar um contexto com browser.new_context(user_agent=<user_agent_string>)​ para emular o User-Agent escolhido. Se um proxy estiver configurado, aplique-o na inicialização (Playwright permite definir um servidor proxy ao iniciar o navegador ou contexto​).

Estratégia de Crawling Recursivo: Comece a partir de uma URL base (seed). Use page.goto(base_url, timeout=<T>) para carregar a página (timeout configurável). Aguarde a rede ficar ociosa ou um pequeno atraso para permitir que o conteúdo dinâmico carregue, se necessário. Em seguida, extraia links. Podemos extrair links de duas formas:

  • Executando JavaScript no contexto da página para coletar todas as âncoras, ex.: links = page.evaluate("Array.from(document.querySelectorAll('a[href]'), a => a.href)"), ou
  • Recuperando o HTML da página (content = page.content()) e usando BeautifulSoup para analisar e encontrar todos os atributos <a href>.
Baixar ferramenta