Torna agli aggiornamenti
New releaseAug 23, 2026

waf-checker v1.1.0

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.

Condividi

WAF Checker

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.

Caratteristiche

Test Principali

  • Inserisci un URL di destinazione, scegli i metodi HTTP (GET, POST, ecc.) e le categorie di attacco.
  • Invia richieste con payload di attacco (nei parametri, negli header o come percorsi di file).
  • Risultati colorati nel terminale e nel web: 🟢 403/BLOCCATO = bloccato, 🔴 2xx/5xx = potenziale bypass, 🟠 3xx = reindirizzamento.
  • Risultati visualizzati in una tabella filtrabile con dettagli per ogni payload.

Categorie di Attacco (19 totali)

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.

Rilevamento WAF

  • Rilevamento automatico del tipo di WAF prima del test (Cloudflare, AWS WAF, ModSecurity, Akamai, Imperva, F5 BIG-IP, ecc.).
  • Suggerisce tecniche di bypass specifiche in base al WAF rilevato.
  • Può passare automaticamente a payload avanzati specifici per il WAF.

Payload Avanzati e Codifica

  • Payload di Bypass WAF — doppia codifica, unicode, maiuscole/minuscole miste, iniezione di commenti, payload poliglotti.
  • Payload Potenziati — tecniche di evasione moderne.
  • Variazioni di Codifica — URL, Unicode, HTML Entity, Hex, Ottale, Base64 con combinazioni automatiche.
  • Bypass specifici per WAF: Cloudflare, AWS WAF, ModSecurity.

Manipolazione del Protocollo HTTP

  • HTTP Verb Tampering — testa metodi HTTP non comuni.
  • Parameter Pollution — duplica e suddivide i parametri tra query/body.
  • Content-Type Confusion — tipi di contenuto alternativi per aggirare le regole.
  • Header di Request Smuggling.
  • Variazioni di Host Header Injection.
  • Override del Metodo HTTP tramite header (X-HTTP-Method-Override, ecc.).

Test in Batch

  • Testa più URL contemporaneamente.
  • Concorrenza e ritardo configurabili tra le richieste.
  • Monitoraggio dei progressi in tempo reale.

Struttura del Progetto

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.

Installazione e Build

Dalla directory principale, installa le dipendenze e costruisci tutti i workspace:

npm install
npm run build

Come Eseguire

1. Versione Web (Cloudflare Worker)

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

2. Versione CLI (Node.js)

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

Rilevamento WAF

Rileva il vendor WAF dietro un URL di destinazione:

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

Audit dei payload di vulnerabilità

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

Audit in Batch

Esegui audit in batch per un elenco di URL definiti in un file:

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

3. Versione Docker

Puoi eseguire la CLI usando Docker, sia estraendo l'immagine pre-costruita dal GitHub Container Registry che costruendola localmente.

Utilizzo dell'Immagine Pre-costruita (Consigliato)

L'immagine Docker pre-costruita è disponibile su GitHub Container Registry all'indirizzo ghcr.io/sech0us3/waf-checker-cli.

Scarica l'immagine
docker pull ghcr.io/sech0us3/waf-checker-cli:latest
Stampa l'aiuto
docker run --rm ghcr.io/sech0us3/waf-checker-cli:latest --help
Esegui un controllo
docker run --rm -it ghcr.io/sech0us3/waf-checker-cli:latest check https://example.com
Esegui audit in batch (montando una directory locale)
docker run --rm -it -v "$(pwd):/data" ghcr.io/sech0us3/waf-checker-cli:latest batch /data/targets.txt --concurrency 3

Costruzione Locale

Costruisci l'immagine
docker build -t waf-checker-cli .
Stampa l'aiuto
docker run --rm waf-checker-cli --help
Esegui un controllo
docker run --rm -it waf-checker-cli check https://example.com
Esegui audit in batch (montando una directory locale)
docker run --rm -it -v "$(pwd):/data" waf-checker-cli batch /data/targets.txt --concurrency 3

Test

Per eseguire la suite di test dell'intero workspace (utilizzando Vitest):

npm test

Leggi il mio blog su yoursec.substack.com

Categorie