
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.
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.
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.
X-HTTP-Method-Override, etc.).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.Desde el directorio raíz, instala las dependencias y compila todos los workspaces:
npm install
npm run build
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
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
Detecta el proveedor de WAF detrás de una URL de destino:
node packages/cli/dist/index.js detect <url>
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
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
Puedes ejecutar la CLI usando Docker, ya sea descargando la imagen precompilada del Registro de Contenedores de GitHub o compilándola localmente.
La imagen Docker precompilada está disponible en GitHub Container Registry en ghcr.io/sech0us3/waf-checker-cli.
docker pull ghcr.io/sech0us3/waf-checker-cli:latest
docker run --rm ghcr.io/sech0us3/waf-checker-cli:latest --help
docker run --rm -it ghcr.io/sech0us3/waf-checker-cli:latest check https://example.com
docker run --rm -it -v "$(pwd):/data" ghcr.io/sech0us3/waf-checker-cli:latest batch /data/targets.txt --concurrency 3
docker build -t waf-checker-cli .
docker run --rm waf-checker-cli --help
docker run --rm -it waf-checker-cli check https://example.com
docker run --rm -it -v "$(pwd):/data" waf-checker-cli batch /data/targets.txt --concurrency 3
Para ejecutar el conjunto de pruebas de todo el workspace (utilizando Vitest):
npm test
Lee mi blog en yoursec.substack.com