
waf-checker v1.2.0
Herramienta automatizada de evaluación de WAF que detecta proveedores de firewall, prueba 19 categorías de ataque con payloads de evasión avanzados y proporciona análisis de bypass codificado por colores a través de CLI, Cloudflare Worker o Docker.
Comprobador de WAF
Este proyecto te ayuda a comprobar qué tan bien tu Firewall de Aplicaciones Web (WAF) protege tu producto contra ataques web comunes. Se puede ejecutar como un Cloudflare Worker (con una interfaz web interactiva integrada) o como una herramienta CLI independiente de Node.js.
🧪 Cobertura de Pruebas y Estado
Todos los paquetes están exhaustivamente probados con suites automatizadas de pruebas unitarias, de integración, basadas en propiedades (fuzzing con fast-check), de resiliencia de red y de ingeniería inversa (100% de cumplimiento de seguridad SSRF, técnicas de evasión de protocolos y formateadores de informes):
| Paquete | Cobertura de líneas | Sentencias | Funciones | Suite de pruebas |
|---|---|---|---|---|
@waf-checker/core | 93.0% 🟢 | 92.6% | 96.4% | 🟢 282 superadas |
@waf-checker/cli | 93.5% 🟢 | 92.8% | 96.7% | 🟢 54 superadas |
@waf-checker/worker | Superadas 🟢 | — | — | 🟢 30 superadas |
| Suite total del monorepo | 93.2% | 92.7% | 96.6% | 🟢 366 pruebas superadas |
Características
Pruebas Principales
- Introduce una URL objetivo, selecciona los métodos HTTP (GET, POST, etc.) y las categorías de ataque.
- Envía solicitudes con cargas útiles de ataque (en parámetros, cabeceras o como rutas de archivo).
- Resultados en terminal y web con código de colores: 🟢 403/BLOQUEADO = bloqueado, 🔴 2xx/5xx = posible evasión, 🟠 3xx = redirección.
- Resultados mostrados en una tabla filtrable con detalles para cada carga útil.
🕵️ Ingeniería Inversa de WAF y Matriz CRS (--reverse)
- Mapeo del Conjunto de Reglas Principales de OWASP (CRS v3/v4): Audita los IDs de reglas activas frente a las deshabilitadas (
920xxx,921xxx,930xxx,931xxx,932xxx,933xxx,934xxx,941xxx,942xxx,943xxx,944xxx) con Niveles de Paranoia (PL1-PL4). - Detección del Límite del Cuerpo de Inspección: Sondeo mediante búsqueda binaria (8KB – 128KB, precisión ~1KB) para identificar los límites de truncamiento del búfer.
- Detección del Modo de Puntuación de Anomalías: Sondea el modo de puntuación colaborativa frente al modo de bloqueo estricto por regex e identifica los umbrales de puntuación.
- Sondeo Seguro de Límite de Tasa: Aumento gradual seguro hasta 30 req/s con terminación anticipada inmediata al recibir HTTP 429 y extracción de
Retry-After.
🛡️ Parcheo Virtual de WAF y Auto-Remediación (comando --patch / patch)
- Mitigación Instantánea: Transforma automáticamente los bypasses de WAF detectados (HTTP 200) en reglas de firewall listas para desplegar, configuraciones de proxy inverso e Infraestructura como Código (Terraform HCL / Cloud CLI).
- Plataformas Compatibles (11 Dialectos):
- Cloudflare WAF: Expresiones Wirefilter (
http.request.uri.query contains .../matches ...) y Terraform HCLcloudflare_ruleset. - AWS WAF v2: Declaraciones de Reglas JSON Nativas (
ByteMatchStatement,RegexPatternSet,OrStatement) y Terraform HCLaws_wafv2_rule_group. - Google Cloud Armor: Expresiones CEL (
request.path.matches(...),request.headers[...]), comandos CLIgcloud compute security-policiesy Terraformgoogle_compute_security_policy. - Azure WAF (Front Door y App Gateway): Definiciones JSON de Reglas Personalizadas, comandos CLI
az network front-door waf-policyy Terraformazurerm_cdn_frontdoor_firewall_policy. - ModSecurity y OWASP Coraza: Directivas
SecRulecompatibles con OWASP CRS (SecLang) con colapso de tokens@pm. Compatible mediante--patch modsecurityo--patch coraza. - NGINX: Bloques de configuración nativos
location ~* \.(ext)$ { return 403; },location ~ /\.(git|svn)ymap. - HAProxy: ACLs nativas de alto rendimiento (
path_end -i,path_beg -i,query -m sub -i,req.hdr()) conhttp-request deny deny_status 403. - Caddy Server: Matchers nombrados idiomáticos de Caddyfile (
@waf_patch_*) con expresiones CEL (expression {http.request.uri.query}.matches(...)) yrespond 403. - Apache HTTP Server: Reglas
mod_rewrite(RewriteCond %{QUERY_STRING}/%{REQUEST_URI}/%{HTTP_USER_AGENT}+RewriteRule ^ - [F,L]) parahttpd.conf,<VirtualHost>o.htaccess. Compatible mediante--patch apache. - Envoy Proxy: Entradas de ruta que coinciden con
:path/cabeceras mediante RE2safe_regexcondirect_response: 403(o forward-and-tag en modo simulación) para un virtual_host de route_configuration. Compatible mediante--patch envoy. - Kubernetes Ingress (K8s): Manifiestos YAML
kind: Ingresslistos para producción con anotacionesnginx.ingress.kubernetes.io/server-snippet.
- Cloudflare WAF: Expresiones Wirefilter (
- Defensa de Doble Nivel:
- Hotfix Estricto: Firmas de tokens exactas con 0% de riesgo de falsos positivos para respuesta inmediata a incidentes zero-day.
- Patrón Heurístico: Expresiones regulares generalizadas que cubren toda la estructura de la clase de vulnerabilidad.
- Web UI Remediation Studio: Modal de panel interactivo con vistas previas en vivo para todos los proveedores, copia al portapapeles con 1 clic, alternadores de formato y exportación de archivos.
Categorías de Ataque (28 en total)
Inyección SQL, XSS, Inyección de Comandos, Path Traversal, SSRF, Inclusión de Archivos Locales, Archivos Sensibles, Redirección Abierta, SSTI, XXE, Inyección NoSQL, Inyección GraphQL, Ataque JWT (Cabecera), Ataque JWT (Parámetro), Contaminación de Prototipos (Cuerpo JSON), Contaminación de Prototipos (URL/Parámetro), Inyección LDAP, Inyección XPath, Inyección de Fórmulas en Hojas de Cálculo, Log4Shell (JNDI), Inyección CRLF, Contaminación de Parámetros HTTP, User-Agent, Bypass de IP, Contrabando de Solicitudes HTTP, Envenenamiento de Caché Web, Bypass UTF8/Unicode, Bypass del Límite de Inspección de WAF (Padding).
Detección de WAF
- Detección automática del tipo de WAF antes de las pruebas (Cloudflare, AWS WAF, OWASP Coraza, BunkerWeb, ModSecurity, Akamai, Imperva, F5 BIG-IP, etc.).
- Sugiere técnicas de bypass específicas según el WAF detectado.
- Puede cambiar automáticamente a payloads avanzados específicos del WAF.
Payloads y Codificación Avanzados
- Payloads de Bypass de WAF — doble codificación, unicode, mayúsculas y minúsculas mezcladas, inyección de comentarios, payloads poliglotas.
- Payloads Mejorados — técnicas de evasión modernas.
- Variaciones de Codificación — codificación URL, Unicode, Entidad HTML, Hex, Octal, Base64 con combinaciones automáticas.
- Bypasses específicos de WAF para Cloudflare, AWS WAF, ModSecurity.
Manipulación del protocolo HTTP
- HTTP Verb Tampering — probar métodos HTTP poco comunes.
- Parameter Pollution — duplicar y dividir parámetros entre query/body.
- Content-Type Confusion — tipos de contenido alternativos para eludir reglas.
- Cabeceras de Request Smuggling.
- Variaciones de Host Header Injection.
- HTTP Method Override mediante cabeceras (
X-HTTP-Method-Override, etc.).
Pruebas por lotes
- Probar múltiples URL a la vez.
- Concurrencia y retardo configurables entre solicitudes.
- Seguimiento del progreso en tiempo real.