
Strumento automatizzato di valutazione WAF che rileva i vendor di firewall, testa 19 categorie di attacco con payload di evasione avanzati e fornisce un'analisi di bypass con codice colore tramite CLI, Cloudflare Worker o Docker.
Questo progetto ti aiuta a verificare quanto bene il tuo Web Application Firewall (WAF) protegge il tuo prodotto dagli attacchi web più comuni. Può essere eseguito come Cloudflare Worker (con un'interfaccia Web interattiva integrata) o come strumento CLI standalone per 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, ecc.).Il progetto è organizzato come un monorepo NPM Workspaces:
packages/core/: La libreria principale per i test di sicurezza, definizione dei payload, firme per il fingerprinting del WAF e codificatori di offuscamento.packages/worker/: Pacchetto Cloudflare Worker che serve l'interfaccia Web UI HTML/JS statica e gli endpoint API JSON.packages/cli/: Strumento da riga di comando Node.js per eseguire audit direttamente dal tuo terminale.Dalla directory principale, installa le dipendenze e costruisci tutti i workspace:
npm install
npm run build
Per eseguire il server di sviluppo Worker localmente (richiede Wrangler):
npm run dev:worker
L'interfaccia Web sarà accessibile a http://localhost:8787 (o un'altra porta se 8787 è occupata).
Per distribuire il Worker su Cloudflare:
npx wrangler deploy --workspace=packages/worker
Per eseguire audit di test di sicurezza direttamente dalla riga di comando:
# Stampa l'aiuto generale della CLI e l'uso
node packages/cli/dist/index.js --help
# Stampa l'aiuto del comando check (elenca tutti i metodi, le categorie e i vendor WAF)
node packages/cli/dist/index.js check --help
Rileva il vendor WAF dietro un URL di destinazione:
node packages/cli/dist/index.js detect <url>
Esegui un audit contro un URL di destinazione:
# Controllo predefinito (metodo GET, tutte le categorie di payload)
node packages/cli/dist/index.js check https://example.com
# Controllo personalizzato con metodi, categorie specifiche e evasione WAF abilitata
node packages/cli/dist/index.js check https://example.com -m GET,POST -c "SQL Injection,XSS" --auto-detect-waf --encoding-variations
Esegui audit in batch per un elenco di URL definiti in un file:
node packages/cli/dist/index.js batch targets.txt --concurrency 3
Puoi eseguire la CLI usando Docker, sia estraendo l'immagine pre-costruita dal GitHub Container Registry che costruendola localmente.
L'immagine Docker pre-costruita è disponibile su GitHub Container Registry all'indirizzo 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
Per eseguire la suite di test dell'intero workspace (utilizzando Vitest):
npm test
Leggi il mio blog su yoursec.substack.com