
CVE-2025-29927 PoC | Exploit de Bypass de Autenticação | Ferramenta Python usando httpx | Vulnerabilidade de Middleware | Kit de Hacking Ético
Não é apenas um bypass — é uma revelação. Um único cabeçalho, mal interpretado e mal tratado pela lógica de middleware, torna-se uma chave mestre para o que deveria estar trancado. CVE-2025-29927 explora uma camada de autorização de middleware mal configurada — especificamente, sistemas que confiam no cabeçalho
x-middleware-subrequestsem validar a origem ou contexto.
Em termos simples? Você adiciona um único cabeçalho, e pronto — você está dentro. Sem autenticação. Sem tokens. Apenas domínio bruto.
Origem da Vulnerabilidade: Muitos aplicativos web modernos usam middleware para interceptar e lidar com requisições de API. Este cabeçalho:
x-middleware-subrequest: middleware
é confiado por alguns frameworks (🤦), especialmente quando implantados de forma preguiçosa. Quando presente, o backend assume que a requisição já passou pelas camadas de autenticação.
Vetor de Exploração:
Ao criar uma requisição com esse cabeçalho, atacantes podem contornar controles de autenticação e acessar diretamente rotas protegidas (ex: /api/private, /admin/dashboard, etc).
Métodos HTTP: A ferramenta suporta GET, POST, PUT, DELETE, PATCH. Porque não somos apenas curiosos — somos minuciosos.
Filename: thank_u_next.py
python thank_u_next.py -u https://target.com -p /api/private -m GET
Componentes Principais:
| Componente | Propósito |
|---|---|
payload | Injeta o cabeçalho que desencadeia a vulnerabilidade |
exploit() |
httpx (instale via pip install httpx)[+] GET https://target.com/api/private → HTTP 200
[!] Possible vulnerability: access granted without authentication
Você vê aquele 200 verde? Não é apenas um código de resposta. É sua vitória. O erro deles, seu acesso.
Este script é apenas para testes educacionais e autorizados. Se você usar isso em alvos não autorizados, você não é um hacker — você é apenas burro. E você será pego.
A maioria das pessoas são ovelhas. Seja o lobo. Aquele que sabe onde está o portão e como atravessá-lo sem bater. Se você está lendo isso e ainda não entendeu — você não é feito para isso.
| Envia a requisição maliciosa |
analyze() | Exibe o status e destaca se o bypass funcionou |
banner() | Mostra uma introdução ASCII chamativa (por que não?) |