
Scanner di HTTP Request Smuggling basato su Rust.
Scanner di HTTP Request Smuggling basato su Rust.
Smugglex è uno strumento di security testing che rileva vulnerabilità di HTTP Request Smuggling nelle applicazioni web. Testa attacchi CL.TE, TE.CL, TE.TE, H2C e H2, offre audit opt-in per parser-discrepancy, CL.0 e 0.CL e — su target HTTPS — parla vero HTTP/2 (ALPN h2) per rilevare lo smuggling da downgrade HTTP/2→HTTP/1.1 (H2.CL / H2.TE) tramite il check h2-downgrade.
Per la documentazione dettagliata, visita smugglex.hahwul.com.
brew install hahwul/smugglex/smugglex
Richiede Rust 1.88 o successivo:
git clone https://github.com/hahwul/smugglex
cd smugglex
cargo install --path .
Per altri metodi di installazione, consulta la Guida all'installazione.
Scansione di base:
smugglex https://target.com
Leggi gli URL da stdin:
cat urls.txt | smugglex
Riproduci una richiesta catturata (ad esempio esportata da Burp Suite) come template della richiesta:
smugglex --raw-request request.txt # target preso dall'header Host
smugglex --raw-request request.txt --raw-request-proto http
smugglex --raw-request request.txt -H "X-Collab: abcd.oastify.com" # -H è additivo
Il request-target catturato viene inviato letteralmente — dot-segments, matrix params e #
sono preservati, non normalizzati — sia per request line in origin-form (POST /path ...) sia in
absolute-form (GET http://...), così i payload basati sul path sopravvivono.
Gli header -H vengono uniti sopra quelli catturati.
Per l'utilizzo dettagliato e le opzioni, consulta la Guida all'utilizzo.
smugglex https://target.com -v -o results.json
cat urls.txt | smugglex --exit-first
smugglex è progettato per essere adatto all'uso automatizzato:
# Output JSON pulito (solo JSON su stdout) + exit code corretto
smugglex --json https://target.com
echo $? # 0 = pulito, 1 = vulnerabilità trovata
# Batch + output strutturato (singolo documento JSON valido)
cat urls.txt | smugglex -f json -o report.json
# Quiet + JSON per pipeline
smugglex -q --json https://target.com | jq '.summary.vulnerable_targets'
Exit code:
0 — Nessuna vulnerabilità trovata1 — Almeno una vulnerabilità trovata2 — Errore di utilizzo / inputConsulta la Guida alle pipeline e i Formati di output per ulteriori informazioni.
Problemi comuni e soluzioni sono disponibili nella Guida alla risoluzione dei problemi.