Volver a actualizaciones
Nuevo releaseAug 23, 2026

waf-checker v1.1.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.

Compartir

WAF Checker

Este proyecto te ayuda a comprobar qué tan bien protege tu Web Application Firewall (WAF) tu producto contra ataques web comunes. Se puede ejecutar como un Cloudflare Worker (con una interfaz web interactiva incorporada) o como una herramienta CLI independiente de Node.js.

Características

Pruebas principales

  • Introduce una URL de destino, elige métodos HTTP (GET, POST, etc.) y categorías de ataque.
  • Envía solicitudes con cargas de ataque (en parámetros, cabeceras o como rutas de archivo).
  • Resultados en terminal y web con códigos de colores: 🟢 403/BLOQUEADO = bloqueado, 🔴 2xx/5xx = posible omisión, 🟠 3xx = redirección.
  • Resultados mostrados en una tabla filtrable con detalles para cada carga.

Categorías de ataque (19 en total)

SQL Injection, XSS, Path Traversal, Command Injection, SSRF, NoSQL Injection, Local File Inclusion, LDAP Injection, HTTP Request Smuggling, Open Redirect, Sensitive Files, CRLF Injection, UTF8/Unicode Bypass, XXE, SSTI, HTTP Parameter Pollution, Web Cache Poisoning, IP Bypass, User-Agent.

Detección de WAF

  • Detecta automáticamente el tipo de WAF antes de las pruebas (Cloudflare, AWS WAF, ModSecurity, Akamai, Imperva, F5 BIG-IP, etc.).
  • Sugiere técnicas específicas de omisión según el WAF detectado.
  • Puede cambiar automáticamente a cargas útiles avanzadas específicas del WAF.

Cargas útiles y codificación avanzadas

  • Cargas de omisión de WAF: doble codificación, unicode, mayúsculas/minúsculas mixtas, inyección de comentarios, cargas políglotas.
  • Cargas mejoradas: técnicas modernas de evasión.
  • Variaciones de codificación: URL, Unicode, HTML Entity, Hex, Octal, Base64 con combinaciones automáticas.
  • Omisiones específicas de WAF para Cloudflare, AWS WAF, ModSecurity.

Manipulación del protocolo HTTP

  • HTTP Verb Tampering: prueba métodos HTTP inusuales.
  • Parameter Pollution: duplicar y dividir parámetros en 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

  • Prueba varias URL a la vez.
  • Concurrencia y retardo configurables entre solicitudes.
  • Seguimiento del progreso en tiempo real.

Estructura del proyecto

El proyecto está estructurado como un monorepositorio de NPM Workspaces:

  • packages/core/: La biblioteca central de pruebas de seguridad, definición de cargas útiles, firmas de reconocimiento de WAF y codificadores de ofuscación.
  • packages/worker/: Paquete del Cloudflare Worker que sirve la interfaz web estática HTML/JS y los endpoints de la API JSON.
  • packages/cli/: Herramienta de línea de comandos de Node.js para ejecutar auditorías directamente desde tu terminal.

Instalación y compilación

Desde el directorio raíz, instala las dependencias y compila todos los workspaces:

npm install
npm run build

Cómo ejecutar

1. Versión web (Cloudflare Worker)

Para ejecutar el servidor de desarrollo del Worker localmente (requiere Wrangler):

npm run dev:worker

La interfaz web será accesible en http://localhost:8787 (u otro puerto si el 8787 está ocupado).

Para desplegar el Worker en Cloudflare:

npx wrangler deploy --workspace=packages/worker

2. Versión CLI (Node.js)

Para ejecutar auditorías de pruebas de seguridad directamente desde tu línea de comandos:

# Imprime la ayuda general de la CLI y el uso
node packages/cli/dist/index.js --help

# Imprime la ayuda del comando check (lista todos los métodos, categorías y proveedores de WAF)
node packages/cli/dist/index.js check --help

Detección de WAF

Detecta el proveedor de WAF detrás de una URL de destino:

node packages/cli/dist/index.js detect <url>

Auditoría de cargas útiles de vulnerabilidades

Ejecuta una auditoría contra una URL de destino:

# Verificación por defecto (método GET, todas las categorías de carga)
node packages/cli/dist/index.js check https://example.com

# Verificación personalizada con métodos específicos, categorías y evasión de WAF habilitada
node packages/cli/dist/index.js check https://example.com -m GET,POST -c "SQL Injection,XSS" --auto-detect-waf --encoding-variations

Auditorías por lotes

Ejecuta auditorías por lotes para una lista de URL definidas en un archivo:

node packages/cli/dist/index.js batch targets.txt --concurrency 3

3. Versión Docker

Puedes ejecutar la CLI usando Docker, ya sea descargando la imagen precompilada del Registro de Contenedores de GitHub o compilándola localmente.

Usando la imagen precompilada (recomendado)

La imagen Docker precompilada está disponible en GitHub Container Registry en ghcr.io/sech0us3/waf-checker-cli.

Descargar la imagen
docker pull ghcr.io/sech0us3/waf-checker-cli:latest
Mostrar ayuda
docker run --rm ghcr.io/sech0us3/waf-checker-cli:latest --help
Ejecutar una verificación
docker run --rm -it ghcr.io/sech0us3/waf-checker-cli:latest check https://example.com
Ejecutar auditorías por lotes (montando un directorio local)
docker run --rm -it -v "$(pwd):/data" ghcr.io/sech0us3/waf-checker-cli:latest batch /data/targets.txt --concurrency 3

Compilación local

Construir la imagen
docker build -t waf-checker-cli .
Mostrar ayuda
docker run --rm waf-checker-cli --help
Ejecutar una verificación
docker run --rm -it waf-checker-cli check https://example.com
Ejecutar auditorías por lotes (montando un directorio local)
docker run --rm -it -v "$(pwd):/data" waf-checker-cli batch /data/targets.txt --concurrency 3

Pruebas

Para ejecutar el conjunto de pruebas de todo el workspace (utilizando Vitest):

npm test

Lee mi blog en yoursec.substack.com

Categorías