Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
echteeteepee — Strumento Go e template Nuclei per testare il (CVE-2025-32094) di James Kettle: HTTP/1.1 must die: the desync endgame | Kitploit
Strumenti/GitHubGitHub/perplext/echteeteepee
Scanner di VulnerabilitàAnalisi Dinamica (Sandboxing)Sicurezza WebFuzzingPenetration TestingApprendimento e Formazione
GitHubperplext/echteeteepee

echteeteepee

Strumento Go e template Nuclei per testare il (CVE-2025-32094) di James Kettle: HTTP/1.1 must die: the desync endgame

Vedi Repository
510 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Strumenti di test per vulnerabilità Desync HTTP/1

Questo repository contiene strumenti di sicurezza difensiva per rilevare vulnerabilità di request smuggling (desync) HTTP/1 basati sulla ricerca innovativa di James Kettle di PortSwigger.

Attribuzione della Ricerca

Questo lavoro è direttamente ispirato e implementa tecniche da:

  • "HTTP/1 Must Die" di James Kettle (PortSwigger Research)
    • Ricerca originale: https://portswigger.net/research/http1-must-die
    • Ricercatore: James Kettle (@albinowax)
    • Azienda: PortSwigger Web Security

I pattern di attacco, le tecniche e i metodi di rilevamento implementati in questi strumenti si basano sul lavoro pionieristico di James Kettle che ha rivelato difetti fondamentali nell'implementazione del protocollo HTTP/1.1 nei principali fornitori di infrastrutture web.

Impatto della Ricerca

La ricerca di James Kettle ha dimostrato vulnerabilità che interessano:

  • Cloudflare, T-Mobile, GitLab, Netlify, Akamai
  • Ha fruttato oltre $350.000 in bug bounty
  • Ha portato a correzioni critiche dell'infrastruttura in tutto il web

Panoramica

Le definizioni ambigue dei confini delle richieste HTTP/1.1 creano quella che James Kettle ha definito "estrema ambiguità" su dove le richieste iniziano e finiscono. Ciò porta a discrepanze del parser tra server front-end e back-end, consentendo sofisticati attacchi di request smuggling. Questi strumenti aiutano a identificare tali vulnerabilità per test di sicurezza difensiva.

Strumenti Inclusi

1. Go Testing Tool (http1-desync-test.go)

Un tester completo di vulnerabilità desync HTTP/1 che implementa molteplici pattern di attacco.

Features

  • V-H (Visible-Hidden) Desync: Testa le discrepanze del parser visibile-nascosto
  • 0.CL (Zero Content-Length) Desync: Sfrutta le differenze nella gestione di Content-Length: 0
  • Expect Header Desync: Utilizza Expect: 100-continue per il request smuggling
  • Double-Desync: Testa le vulnerabilità di Response Queue Poisoning
  • CL.TE Desync: Testa i conflitti tra Content-Length e Transfer-Encoding

Installation

root@kitploit:~
# Clone the repository
git clone https://github.com/nconsolo/echteeteepee.git
cd echteeteepee

# Install dependencies
go mod download

# Build the tool
go build -o http1-desync-test http1-desync-test.go

Usage

root@kitploit:~
# Test all attack patterns
./http1-desync-test -target https://example.com

# Test specific attack pattern
./http1-desync-test -target https://example.com -test vh

# Enable verbose output
./http1-desync-test -target https://example.com -verbose

# Set custom timeout
./http1-desync-test -target https://example.com -timeout 10s

Opzioni da riga di comando

  • -target: URL di destinazione (obbligatorio)
  • -test: Tipo di test: all, vh, 0cl, expect, double, clte (predefinito: all)
  • -timeout: Timeout della richiesta (predefinito: 5s)
  • -verbose: Abilita output dettagliato per vedere richieste/risposte grezze

2. Nuclei Template (nuclei-templates/http1-desync.yaml)

Template di scansione automatizzata per Nuclei per rilevare vulnerabilità desync HTTP/1 su larga scala.

Installation

root@kitploit:~
# Install Nuclei (if not already installed)
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Copy template to Nuclei templates directory
cp nuclei-templates/http1-desync.yaml ~/.nuclei-templates/

Usage

root@kitploit:~
# Scan single target
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml

# Scan multiple targets
nuclei -l targets.txt -t nuclei-templates/http1-desync.yaml

# Scan with rate limiting
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml -rl 10

Pattern di Attacco Spiegati

Tutti i pattern di attacco si basano sui risultati della ricerca di James Kettle e su tecniche di exploit comprovate.

V-H (Visible-Hidden) Desync

Fonte: Ricerca "HTTP/1 Must Die" di James Kettle
Sfrutta le discrepanze in cui il proxy front-end vede un confine della richiesta mentre il server back-end ne vede un altro. Il payload dell'attacco incorpora una richiesta nascosta all'interno di ciò che appare come dati di header al front-end, ma viene interpretata come una richiesta separata dal back-end.

Esempio dalla ricerca: Utilizzato per dimostrare le differenze del parser nei principali provider CDN.

0.CL (Zero Content-Length) Desync

Fonte: Risultati delle vulnerabilità IIS e T-Mobile di James Kettle
Sfrutta differenti interpretazioni dell'header Content-Length: 0 tra server. Alcuni server ignorano il corpo quando CL=0, mentre altri lo elaborano comunque, portando a confusione sui confini delle richieste.

Impatto reale: Sfruttato con successo contro server IIS e infrastruttura T-Mobile.

Expect Header Desync

Fonte: Ricerca di James Kettle su T-Mobile e LastPass
Sfrutta il meccanismo Expect: 100-continue dove front-end e back-end gestiscono la continuazione in modo diverso. Ciò crea opportunità per introdurre richieste mentre il front-end attende una risposta 100-continue.

Contesto di ricerca: Dimostrato contro i sistemi di autenticazione T-Mobile e LastPass.

Double-Desync (Response Queue Poisoning)

Fonte: Metodologia desync avanzata di James Kettle
Combina più attacchi desync per avvelenare la coda delle risposte, permettendo agli attaccanti di controllare quali risposte ricevono altri utenti. Questo rappresenta uno degli attacchi più sofisticati della ricerca.

Scoperta critica: Consente la completa acquisizione del sito servendo risposte malevole a utenti legittimi.

CL.TE / TE.CL Conflicts

Fonte: Ricerca fondamentale sull'ambiguità HTTP/1.1 di James Kettle
Sfrutta i conflitti tra gli header Content-Length e Transfer-Encoding: chunked. Diversi server danno priorità diversa a questi header, creando discrepanze del parser che consentono il request smuggling.

Fondamento: Questi conflitti rappresentano il difetto fondamentale che James Kettle ha identificato nella specifica HTTP/1.1.

Indicatori di Rilevamento

Basandosi sulla metodologia di ricerca di James Kettle, gli strumenti cercano:

Indicatori Primari (dalla ricerca originale)

  • Risposte 404/403/401 inaspettate: Indica richieste smuggled che raggiungono endpoint non autorizzati
  • Risposta contenente percorsi admin/ristretti: Suggerisce request smuggling riuscito verso aree protette
  • Risposte HTTP multiple in una singola connessione: Segno di response queue poisoning
  • Risposte di errore del parser (400 Bad Request): Può indicare una confusione desync riuscita

Metodi di Rilevamento Avanzati

  • Anomalie nei tempi di risposta: Ritardi che suggeriscono confusione a livello di elaborazione del server
  • Discrepanze di Content-Length: Risposte con lunghezze del corpo errate
  • Artefatti di iniezione di header: Evidenza di header smuggled nelle risposte
  • Indicatori di cache poisoning: Risposte memorizzate nella cache inaspettate che influenzano altri utenti

Valutazione della Gravità delle Vulnerabilità

Seguendo la classificazione dell'impatto di James Kettle:

  • Critico: Response Queue Poisoning che consente l'impersonificazione dell'utente
  • Alto: Request smuggling verso endpoint admin
  • Medio: Discrepanze del parser senza prova di sfruttamento
  • Basso: Comportamenti desync benigni senza impatto sulla sicurezza

Uso Responsabile

Questi strumenti sono progettati per:

  • Test di sicurezza difensiva su sistemi autorizzati
  • Valutazione delle vulnerabilità con le dovute autorizzazioni
  • Ricerca sulla sicurezza in ambienti controllati

NON utilizzare questi strumenti:

  • Su sistemi che non possiedi o per i quali non hai autorizzazione al test
  • Per scopi malevoli o accesso non autorizzato
  • In ambienti di produzione senza le dovute precauzioni

Dettagli di Implementazione Tecnica

Gestione delle Connessioni

Seguendo la metodologia di James Kettle, gli strumenti mantengono connessioni HTTP/1.1 persistenti per testare correttamente le condizioni di desync. Ogni test crea una singola connessione TCP e invia più richieste per osservare le differenze di parsing.

Costruzione delle Richieste

I payload di attacco sono accuratamente costruiti basandosi sugli esatti pattern utilizzati da James Kettle nella sua ricerca, garantendo compatibilità con i comportamenti del server da lui documentati.

Analisi delle Risposte

La logica di rilevamento implementa gli stessi indicatori che James Kettle ha utilizzato per identificare attacchi desync riusciti durante la sua ricerca di bug bounty da oltre $350.000.

Impatto e Rimedi delle Vulnerabilità

Basandosi sulle scoperte e raccomandazioni di James Kettle:

Categorie di Impatto

  1. Acquisizione completa del sito: Tramite response queue poisoning
  2. Furto di credenziali: Tramite request smuggling verso endpoint di autenticazione
  3. Cache Poisoning: Servire contenuti dannosi a utenti legittimi
  4. Escalation dei privilegi: Accesso a endpoint admin tramite richieste smuggled

Strategie di Mitigazione (secondo James Kettle)

  1. Soluzione primaria: Migrare le connessioni upstream a HTTP/2
  2. Intermedia: Abilitare la normalizzazione delle richieste HTTP
  3. Rilevamento: Implementare scansioni periodiche delle vulnerabilità desync
  4. Monitoraggio: Implementare il rilevamento di anomalie a livello di connessione

Raccomandazioni per i Test

  • Testare durante finestre di manutenzione per evitare di interrompere i servizi
  • Utilizzare il rate limiting durante la scansione dei sistemi di produzione
  • Coordinarsi con i team di sicurezza prima di test su larga scala
  • Documentare i risultati utilizzando la classificazione delle vulnerabilità di James Kettle

Riferimenti e Crediti

Ricerca Primaria

  • "HTTP/1 Must Die" - James Kettle (PortSwigger Research)
    https://portswigger.net/research/http1-must-die
  • "HTTP Desync Attacks: Request Smuggling Reborn" - James Kettle
    https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn
  • Black Hat USA 2019 Presentation - James Kettle
    "HTTP Desync Attacks: Smashing into the Cell Next Door"

Risorse Aggiuntive

  • HTTP Request Smuggling - PortSwigger Academy
  • Burp Suite HTTP Request Smuggler Extension
  • CWE-444: Inconsistent Interpretation of HTTP Requests

Crediti dello Strumento

  • James Kettle (@albinowax): Ricerca originale e metodologia di attacco
  • PortSwigger: Pubblicazione della ricerca e strumento HTTP Request Smuggler
  • ProjectDiscovery: Framework di scansione Nuclei

Licenza

Licenza MIT - Vedi file LICENSE per i dettagli

Dichiarazione di esclusione di responsabilità

Questi strumenti sono forniti solo a scopo educativo e di sicurezza difensiva. Gli utenti sono responsabili di assicurarsi di avere la dovuta autorizzazione prima di testare qualsiasi sistema. Gli autori non si assumono alcuna responsabilità per l'uso improprio o i danni causati da questi strumenti.

Scarica lo strumento