
Escáner de contrabando de solicitudes HTTP impulsado por Rust.
Escáner de HTTP Request Smuggling impulsado por Rust.
Smugglex es una herramienta de pruebas de seguridad que detecta vulnerabilidades de HTTP Request Smuggling en aplicaciones web. Prueba ataques de smuggling CL.TE, TE.CL, TE.TE, H2C y H2, ofrece auditorías opcionales de parser-discrepancy, CL.0 y 0.CL y — en objetivos HTTPS — habla HTTP/2 real (ALPN h2) para detectar smuggling por degradación de HTTP/2→HTTP/1.1 (H2.CL / H2.TE) mediante la comprobación h2-downgrade.
Para obtener documentación detallada, visita smugglex.hahwul.com.
brew install hahwul/smugglex/smugglex
Requiere Rust 1.88 o posterior:
git clone https://github.com/hahwul/smugglex
cd smugglex
cargo install --path .
Para conocer otros métodos de instalación, consulta la Guía de instalación.
Escaneo básico:
smugglex https://target.com
Leer URLs desde stdin:
cat urls.txt | smugglex
Reproducir una solicitud capturada (por ejemplo, exportada desde Burp Suite) como plantilla de solicitud:
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
El request-target capturado se envía textualmente — los dot-segments, los matrix params y #
se conservan, no se normalizan — tanto para líneas de solicitud en forma de origen (POST /path ...) como
en forma absoluta (GET http://...), de modo que los payloads basados en rutas sobreviven.
Cualquier cabecera -H se fusiona sobre las capturadas.
Para conocer el uso detallado y las opciones, consulta la Guía de uso.
smugglex https://target.com -v -o results.json
cat urls.txt | smugglex --exit-first
smugglex está diseñado para ser amigable con el uso automatizado:
# 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'
Códigos de salida:
0 — No se encontraron vulnerabilidades1 — Se encontró al menos una vulnerabilidad2 — Error de uso / entradaConsulta la Guía de pipelines y los Formatos de salida para obtener más información.
Los problemas comunes y sus soluciones están disponibles en la Guía de solución de problemas.