
CVE-2025-29927 PoC | Exploit di bypass dell'autenticazione | Strumento Python che utilizza httpx | Vulnerabilità del middleware | Toolkit per hacking etico
Non è solo un bypass — è una rivelazione. Un singolo header, frainteso e gestito male dalla logica middleware, diventa una chiave maestra per ciò che doveva essere bloccato. CVE-2025-29927 sfrutta un layer di autorizzazione middleware malconfigurato — in particolare, sistemi che fidano dell'header
x-middleware-subrequestsenza validare l'origine o il contesto.
In parole povere? Aggiungi un singolo header, e boom — sei dentro. Niente autenticazione. Niente token. Solo puro dominio.
Origine della vulnerabilità: Molte applicazioni web moderne usano middleware per intercettare e gestire le richieste API. Questo header:
x-middleware-subrequest: middleware
viene considerato attendibile da alcuni framework (🤦), specialmente quando distribuito in modo pigro. Quando presente, il backend presume che la richiesta abbia già superato i livelli di autenticazione.
Vettore di exploit:
Creando una richiesta con quell'header, gli attaccanti possono bypassare i controlli di autenticazione e raggiungere direttamente route protette (es. /api/private, /admin/dashboard, ecc).
Metodi HTTP: Lo strumento supporta GET, POST, PUT, DELETE, PATCH. Perché non siamo solo curiosi — siamo meticolosi.
Nome file: thank_u_next.py
python thank_u_next.py -u https://target.com -p /api/private -m GET
Componenti principali:
| Componente | Scopo |
|---|---|
payload | Inietta l'header che attiva la vulnerabilità |
exploit() |
httpx (installa tramite pip install httpx)[+] GET https://target.com/api/private → HTTP 200
[!] Possible vulnerability: access granted without authentication
Vedi quel 200 verde? Non è solo un codice di risposta. È la tua vittoria. Il loro errore, il tuo accesso.
Questo script è solo per test educativi e autorizzati. Se lo usi su target non autorizzati, non sei un hacker — sei solo stupido. E verrai beccato.
La maggior parte delle persone sono pecore. Sii il lupo. Colui che sa dove si trova il cancello, e come attraversarlo senza bussare. Se stai leggendo e ancora non capisci — non sei destinato a capire.
| Invia la richiesta malevola |
analyze() | Stampa lo stato ed evidenzia se il bypass ha funzionato |
banner() | Mostra un'introduzione ASCII appariscente (perché no?) |