
Rust-basierter HTTP-Request-Smuggling-Scanner.
Rust-basierter Scanner für HTTP Request Smuggling.
Smugglex ist ein Sicherheitstest-Tool, das HTTP Request Smuggling-Schwachstellen in Webanwendungen erkennt. Es testet auf CL.TE-, TE.CL-, TE.TE-, H2C- und H2-Schmuggelangriffe, bietet opt-in Parser-Diskrepanz-, CL.0- und 0.CL-Audits und spricht bei HTTPS-Zielen echtes HTTP/2 (ALPN h2), um HTTP/2→HTTP/1.1-Downgrade-Schmuggel (H2.CL / H2.TE) über die h2-downgrade-Prüfung zu erkennen.
Eine ausführliche Dokumentation findest du unter smugglex.hahwul.com.
brew install hahwul/smugglex/smugglex
Erfordert Rust 1.88 oder neuer:
git clone https://github.com/hahwul/smugglex
cd smugglex
cargo install --path .
Weitere Installationsmethoden findest du im Installationsleitfaden.
Grundlegender Scan:
smugglex https://target.com
URLs von stdin einlesen:
cat urls.txt | smugglex
Eine aufgezeichnete Anfrage (z. B. aus Burp Suite exportiert) als Anfrage-Template wiedergeben:
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
Das aufgezeichnete Request-Target wird wörtlich gesendet — Dot-Segmente, Matrix-Parameter und #
bleiben erhalten, werden nicht normalisiert — sowohl für Origin-Form- (POST /path ...) als auch
Absolute-Form- (GET http://...) Request-Zeilen, sodass pfadbasierte Payloads erhalten bleiben.
Alle -H-Header werden zusätzlich zu den aufgezeichneten Headern zusammengeführt.
Ausführliche Informationen zur Verwendung und zu den Optionen findest du im Verwendungsleitfaden.
smugglex https://target.com -v -o results.json
cat urls.txt | smugglex --exit-first
smugglex ist auf automatisierte Nutzung ausgelegt:
# 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'
Exit-Codes:
0 — Keine Schwachstellen gefunden1 — Mindestens eine Schwachstelle gefunden2 — Verwendungs- / EingabefehlerWeitere Informationen findest du im Pipeline-Leitfaden und unter Ausgabeformate.
Häufige Probleme und Lösungen findest du im Leitfaden zur Fehlerbehebung.