
Outil automatisé d'évaluation de WAF qui détecte les fournisseurs de pare-feu, teste 19 catégories d'attaques avec des payloads d'évasion avancés, et fournit une analyse de contournement avec code couleur via CLI, Cloudflare Worker ou Docker.
Ce projet vous aide à vérifier l'efficacité de votre pare-feu d'application web (WAF) pour protéger votre produit contre les attaques web courantes. Il peut être exécuté en tant que Cloudflare Worker (avec une interface utilisateur Web interactive intégrée) ou en tant qu'outil CLI Node.js autonome.
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.).Le projet est structuré en monorepo NPM Workspaces :
packages/core/: Bibliothèque de test de sécurité centrale, définition des payloads, signatures d'empreintes WAF et encodeurs d'obscurcissement.packages/worker/: Paquet Cloudflare Worker servant l'interface utilisateur Web statique HTML/JS et les points d'accès API JSON.packages/cli/: Outil en ligne de commande Node.js pour exécuter des audits directement depuis votre terminal.Depuis le répertoire racine, installez les dépendances et construisez tous les espaces de travail :
npm install
npm run build
Pour exécuter le serveur de développement Worker localement (nécessite Wrangler) :
npm run dev:worker
L'interface utilisateur Web sera accessible à l'adresse http://localhost:8787 (ou un autre port si 8787 est occupé).
Pour déployer le Worker sur Cloudflare :
npx wrangler deploy --workspace=packages/worker
Pour exécuter des audits de test de sécurité directement depuis votre ligne de commande :
# Afficher l'aide générale de la CLI et son utilisation
node packages/cli/dist/index.js --help
# Afficher l'aide de la commande check (liste toutes les méthodes, catégories et fournisseurs de WAF)
node packages/cli/dist/index.js check --help
Détectez le fournisseur de WAF derrière une URL cible :
node packages/cli/dist/index.js detect <url>
Exécutez un audit sur une URL cible :
# Vérification par défaut (méthode GET, toutes les catégories de payloads)
node packages/cli/dist/index.js check https://example.com
# Vérification personnalisée avec des méthodes et catégories spécifiques, et évasion WAF activée
node packages/cli/dist/index.js check https://example.com -m GET,POST -c "SQL Injection,XSS" --auto-detect-waf --encoding-variations
Exécutez des audits par lots pour une liste d'URL définie dans un fichier :
node packages/cli/dist/index.js batch targets.txt --concurrency 3
Vous pouvez exécuter la CLI en utilisant Docker, soit en tirant l'image pré-construite depuis le GitHub Container Registry, soit en la construisant localement.
L'image Docker pré-construite est disponible sur GitHub Container Registry à l'adresse 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
Pour exécuter la suite de tests de l'ensemble de l'espace de travail (utilisant Vitest) :
npm test
Lisez mon blog sur yoursec.substack.com