
Scanner de contrebande de requêtes HTTP propulsé par Rust.
Scanner de contrebande de requêtes HTTP propulsé par Rust.
Smugglex est un outil de test de sécurité qui détecte les vulnérabilités de contrebande de requêtes HTTP dans les applications web. Il teste les attaques de contrebande CL.TE, TE.CL, TE.TE, H2C et H2, et — sur les cibles HTTPS — parle en véritable HTTP/2 (ALPN h2) pour détecter la contrebande par rétrogradation HTTP/2→HTTP/1.1 (H2.CL / H2.TE) via la vérification h2-downgrade.
Pour une documentation détaillée, visitez smugglex.hahwul.com.
brew install hahwul/smugglex/smugglex
Nécessite Rust 1.70 ou version ultérieure :
git clone https://github.com/hahwul/smugglex
cd smugglex
cargo install --path .
Pour d'autres méthodes d'installation, consultez le Guide d'installation.
Analyse de base :
smugglex https://target.com
Lire les URL depuis stdin :
cat urls.txt | smugglex
Rejouer une requête capturée (par exemple exportée depuis Burp Suite) comme modèle de requête :
smugglex --raw-request request.txt # target taken from the Host header
smugglex --raw-request request.txt --raw-request-proto http
smugglex --raw-request request.txt -H "X-Collab: abcd.oastify.com" # -H is additive
La cible de requête capturée est envoyée telle quelle — les segments avec point, les paramètres matriciels et # sont préservés, non normalisés — pour les lignes de requête à la fois en forme originelle (POST /path ...) et en forme absolue (GET http://...), afin que les payloads basés sur le chemin survivent. Les en-têtes -H sont fusionnés par-dessus ceux capturés.
Pour une utilisation détaillée et les options, consultez le Guide d'utilisation.
smugglex https://target.com -v -o results.json
cat urls.txt | smugglex --exit-first
smugglex est conçu pour être adapté à une utilisation automatisée :
# Clean JSON output (only JSON on stdout) + proper exit code
smugglex --json https://target.com
echo $? # 0 = clean, 1 = vulnerable found
# Batch + structured output (single valid JSON document)
cat urls.txt | smugglex -f json -o report.json
# Quiet + JSON for pipelines
smugglex -q --json https://target.com | jq '.summary.vulnerable_targets'
Codes de sortie :
0 — Aucune vulnérabilité trouvée1 — Au moins une vulnérabilité trouvée2 — Erreur d'utilisation / d'entréeConsultez le Guide des pipelines et les Formats de sortie pour en savoir plus.
Les problèmes courants et leurs solutions sont disponibles dans le Guide de dépannage.