Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
CVE-2025-29927-Proof-of-Concept — Desafio Capture the Flag: CVE-2025-29927 em combinação com uma vulnerabilidade de injeção de comandos | Kitploit
Ferramentas/GitHubGitHub/si-ni/cve-2025-29927-proof-of-concept
Quebra de SenhasEscalada de PrivilégiosAnálise de VulnerabilidadesExploração de Aplicações WebCTFComando e ControleAprendizado e Educação
GitHubsi-ni/cve-2025-29927-proof-of-concept

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

CVE-2025-29927-Proof-of-Concept

Desafio Capture the Flag: CVE-2025-29927 em combinação com uma vulnerabilidade de injeção de comandos

Ver Repositório
29há 8 mesesAinda não revisado

Passo a Passo

Passo 1 (5 min)

Dica Quais serviços de rede estão expostos pelo alvo?

— — —

Solução

    kali@kali:~$ nmap <TARGET_IP>
    kali@kali:~$ nmap -sC -sV <TARGET_IP> -p <TARGET_PORTS>
  

Passo 2 (5 min)

Dica 1 A página inicial revela apenas uma página de login, mas servidores web frequentemente expõem caminhos adicionais.
Dica 2 Tente usar uma ferramenta de brute force de diretórios como Gobuster ou DirBuster.

— — —

Solução

    kali@kali:~$ gobuster dir -u http://<TARGET_IP>:<TARGET_PORT>/ -w /usr/share/wordlists/dirb/common.txt
  

    ===============================================================
    Starting gobuster in directory enumeration mode
    ===============================================================
    api                  (Status: 307) [Size: 35] [--> /api/auth/signin?callbackUrl=%2Fapi]
    apis                 (Status: 307) [Size: 36] [--> /api/auth/signin?callbackUrl=%2Fapis]
    cgi-bin/             (Status: 308) [Size: 8] [--> /cgi-bin]
    dashboard            (Status: 307) [Size: 41] [--> /api/auth/signin?callbackUrl=%2Fdashboard]
    favicon.ico          (Status: 200) [Size: 25931]
    login                (Status: 200) [Size: 6252]
    Progress: 4613 / 4613 (100.00%)
    ===============================================================
    Finished
    ===============================================================
  

Passo 3 (20 min)

Dica 1 A página /dashboard redireciona para /login. Você consegue encontrar alguma informação na página de login que permita contornar o redirecionamento?
image
Dica 2 Você consegue encontrar algo sobre a versão 15.2.2 do Next.js?
Dica 3 Pesquise sobre CVE-2025-29927. Use o proxy do Burp Suite para interceptar a requisição e manipular os cabeçalhos antes de encaminhar.

— — —

Solução

Contexto

Muitas aplicações web protegem rotas sensíveis (ex.: /dashboard) usando middleware. O middleware verifica a requisição, valida cookies de sessão e confirma permissões do usuário. Se as verificações falharem, o middleware normalmente redireciona o usuário para /login.

Mecanismo da Vulnerabilidade

CVE-2025-29927 é uma falha de design no processamento de middleware do Next.js. Ela permite que um invasor ignore completamente a proteção do middleware explorando o cabeçalho x-middleware-subrequest. O Next.js usa este cabeçalho internamente para evitar loops infinitos de middleware. Quando uma requisição é processada, a função runMiddleware verifica os cabeçalhos da requisição:
  • Se x-middleware-subrequest estiver presente
  • e seu valor contiver o nome do middleware
  • então o Next.js pula a execução do middleware e encaminha a requisição diretamente
Isso era pretendido como uma otimização interna, mas a falha é que usuários externos também podem definir esse cabeçalho.

O código vulnerável


    const subreq = params.request.headers["x-middleware-subrequest"];
    const subrequests = typeof subreq === "string" ? subreq.split(":") : [];
    if (subrequests.includes(middlewareInfo.name)) {
      result = {
        response: NextResponse.next(),
        waitUntil: Promise.resolve(),
      }
      continue;
    }
  

Para versões 13.2.0 e posteriores

O Next.js introduziu uma profundidade máxima de recursão para a execução do middleware. Isso foi implementado para evitar loops infinitos, mas não afeta a vulnerabilidade.
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
Ao usar este cabeçalho, dizemos ao middleware: "Esta já é uma requisição gerada pelo middleware — não execute o middleware novamente."
image image

Correção

Agora, o Next.js remove o cabeçalho x-middleware-subrequest de todas as requisições externas recebidas antes da execução do middleware. O cabeçalho é confiável apenas quando é criado dentro do runtime do Next.js durante o encadeamento legítimo de middleware. Concretamente, o valor x-middleware-subrequest agora é validado contra uma string hexadecimal gerada aleatoriamente, garantindo que apenas requisições internas legítimas de sessão passem nas verificações de autorização. Portanto, mesmo que um invasor envie o cabeçalho, o Next.js agora pode distinguir entre uma sub-requisição interna real (que carrega o token hexadecimal correto) e uma falsificada por um invasor externo.

Passo 4 (15 min)

Dica 1 Os uploads de arquivos também são protegidos pelo middleware, então você também deve enviar o cabeçalho do passo 3 em cada requisição.
Dica 2 A entrada do usuário sempre apresenta um alto risco. O que mais, além do conteúdo do arquivo, é considerado entrada do usuário aqui? E você consegue encontrar alguma informação na página que revele como a imagem é processada?
Dica 3 Experimente alguns nomes de arquivo maliciosos. https://www.revshells.com/

— — —

Baixar ferramenta