Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
waf-bypass — Strumento automatizzato per test di sicurezza WAF che rileva falsi positivi e falsi negativi utilizzando oltre 15 categorie di payload tra cui SQLi, XSS, RCE e GraphQL injection. Supporta Docker, output JSON e payload personalizzati. | Kitploit
Strumenti/GitHubGitHub/nemesida-waf/waf-bypass
Scanner di VulnerabilitàTest di Sicurezza delle APIBypass WAFSicurezza WebPenetration Testing
GitHubnemesida-waf/waf-bypass

waf-bypass

Strumento automatizzato per test di sicurezza WAF che rileva falsi positivi e falsi negativi utilizzando oltre 15 categorie di payload tra cui SQLi, XSS, RCE e GraphQL injection. Supporta Docker, output JSON e payload personalizzati.

Vedi Repository
1.5k18561 mese faRevisionato da Kitploit
Sito web

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Strumento di Bypass WAF

WAF Bypass Tool è uno strumento open source per analizzare la sicurezza di qualsiasi WAF per falsi positivi e falsi negativi utilizzando payload predefiniti e personalizzabili. Controlla il tuo WAF prima che lo faccia un attaccante. WAF Bypass Tool è sviluppato dal team Nemesida WAF con la partecipazione della comunità.

WAF Bypass Tool

Non fare nulla di illegale

È vietato l'uso per scopi illegali e illeciti. Non infrangere la legge. Non siamo responsabili per eventuali rischi associati all'uso di questo software.

Come eseguire

Esecuzione tramite Docker

L'ultima versione di waf-bypass è sempre disponibile tramite Docker Hub. Può essere scaricata facilmente tramite il seguente comando:

root@kitploit:~
# docker pull nemesida/waf-bypass
# docker run nemesida/waf-bypass --host='example.com'

Esecuzione tramite pipx

root@kitploit:~
# pipx install git+https://github.com/nemesida-waf/waf-bypass.git
# <pipx bin dir>/waf-bypass

Esecuzione diretta dal codice sorgente tramite CLI

root@kitploit:~
# git clone https://github.com/nemesida-waf/waf_bypass.git /opt/waf-bypass/
# python3 -m pip install -r /opt/waf-bypass/requirements.txt
# python3 /opt/waf-bypass/main.py --host='example.com'

Opzioni

  • '--proxy' (--proxy='http://proxy.example.com:3128') - opzione che permette di specificare a quale indirizzo connettersi invece dell'host.

  • '--header' (--header 'Authorization: Basic YWRtaW46YWRtaW4=' --header 'X-TOKEN: ABCDEF') - opzione che permette di specificare l'header HTTP da inviare con tutte le richieste (ad esempio per l'autenticazione). È consentito l'uso multiplo.

  • '--user-agent' (--user-agent 'MyUserAgent 1/1') - opzione che permette di specificare lo User-Agent HTTP da inviare con tutte le richieste, tranne quando lo User-Agent è impostato dal payload ("USER-AGENT").

  • '--block-code' (--block-code='403' --block-code='222') - opzione che permette di specificare il codice di stato HTTP da aspettarsi quando il WAF blocca. (il predefinito è 403). È consentito l'uso multiplo.

  • '--threads' (--threads=15) - opzione che permette di specificare il numero di thread di scansione paralleli (il predefinito è 10).

  • '--timeout' (--timeout=10) - opzione che permette di specificare un timeout di elaborazione della richiesta in secondi (il predefinito è 30).

  • '--exclude-dir' - esclude la directory del payload (--exclude-dir='SQLi,XSS').

  • '--json-format' - un'opzione che permette di visualizzare il risultato del lavoro in formato JSON (utile per integrare lo strumento con piattaforme di sicurezza). Se l'opzione non è specificata, l'output sarà in formato tabellare (il formato predefinito).

  • '--details' - mostra i payload di falsi positivi e falsi negativi. Non compatibile con l'opzione --json-format.

  • '--no-progress' - non mostrare la barra di avanzamento.

  • '--curl-replay' - mostra il comando cURL per riprodurre richieste di falsi positivi, falsi negativi o fallite. Non compatibile con l'opzione --json-format.

Formato JSON

Esempio di specifica dell'output JSON:

root@kitploit:~
{
  "TARGET": "https://example.com", // defined by --host option
  "PROXY": {},                     // defined by --proxy option
  "HEADERS": {                     // defined by --header option
    "User-Agent": ""
  },
  "BLOCK-CODE": [                  // defined by --block-code option
    ...
  ],
  "THREADS": 50,                   // defined by --threads option
  "TIMEOUT": 30,                   // defined by --timeout option
  "EXCLUDE-DIR": [                 // defined by --exclude-dir option
    ...
  ],
  "FAILED": {                      // requests with failed processing status
    "MFD/7.json": {
      "BODY": "WBHTTPSConnectionPool(host='example.com', port=443): Read timed out. (read timeout=1)"
    },
    ...
  },
  "PASSED": {                      // passed requests
    "UWA/3.json": {
      "URL": "403 RESPONSE CODE"
    },
    ...
  },
  "FALSED": {                      // requests with false positive processing status
    ...
  },
  "BYPASSED": {                    // requests with false negative processing status
    "UWA/26.json": {
      "URL": "200 RESPONSE CODE"
    },
    ...
  },
  "TestRequest": {                // test requests with processing status, exclude passed
    "FAILED": {},
    "FALSED": {
        "UWA/3.json": {
        "URL": "403 RESPONSE CODE"
        },
        ...
    }
    
  },
  "CURL": {                       // cURL command to reproduce false positive and false negative requests
    "FALSED": {},
    "BYPASSED": {
      "UWA/26.json": {
        "URL": "curl -X GET -H 'Accept: */*' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' 'https://example.com/do.php#.png'"
      },
      ...
    }
  }
}

Payload

A seconda dello scopo, i payload si trovano nelle cartelle appropriate:

  • FP - payload di falsi positivi
  • API - payload di test API
  • CM - payload di metodi HTTP personalizzati
  • GraphQL - payload di test GraphQL
  • LDAP - payload di injection LDAP
  • LFI - payload di inclusione di file locali
  • MFD - payload multipart/form-data
  • NoSQLi - payload di injection NoSQL
  • OR - payload di reindirizzamento aperto
  • RCE - payload di esecuzione remota di codice
  • RFI - payload di inclusione remota di file
  • SQLi - payload di injection SQL
  • SSI - payload di inclusione lato server
  • SSRF - payload di falsificazione di richieste lato server
  • SSTI - payload di injection di template lato server
  • UWA - payload di accesso indesiderato
  • XSS - payload di cross-site scripting

Scrivi i tuoi payload

Quando si compila un payload, vengono utilizzate le seguenti zone, metodo e opzioni:

  • URL - percorso della richiesta
  • ARGS - query della richiesta
  • BODY - corpo della richiesta
  • COOKIE - cookie della richiesta
  • USER-AGENT - user-agent della richiesta
  • REFERER - referer della richiesta
  • HEADER - header della richiesta
  • METHOD - metodo della richiesta
  • BOUNDARY - specifica il contenuto del boundary della richiesta. Applicabile solo ai payload nella directory MFD.
  • ENCODE - specifica il tipo di codifica del payload (Base64, HTML-ENTITY, UTF-16) in aggiunta alla codifica per il payload. I valori multipli sono indicati con uno spazio (es. Base64 UTF-16). Applicabile solo alle zone ARGS, BODY, COOKIE e HEADER. Non applicabile ai payload nelle directory API e MFD. Non compatibile con l'opzione JSON.
  • JSON - specifica che il corpo della richiesta deve essere in formato JSON
  • BLOCKED - specifica che la richiesta deve essere bloccata (test FN) o meno (FP)

Tranne per alcuni casi descritti di seguito, le zone sono indipendenti tra loro e vengono testate separatamente (quindi se vengono specificate 2 zone, lo script invierà 2 richieste, controllando alternativamente una e la seconda zona).

Per le zone puoi usare il suffisso %RND%, che permette di generare una stringa arbitraria di 6 lettere e numeri. (es.: param%RND=my_payload o param=%RND% OPPURE A%RND%B)

Puoi creare i tuoi payload, per farlo crea la tua cartella nella directory '/payload/', o posiziona il payload in una già esistente (es.: '/payload/XSS'). Il formato dati consentito è JSON.

Directory API

I payload di test API situati in questa directory vengono automaticamente aggiunti con un header 'Content-Type: application/json'.

Directory MFD

Per i payload MFD (multipart/form-data) situati in questa directory, devi specificare BODY (obbligatorio) e BOUNDARY (opzionale). Se BOUNDARY non è impostato, verrà generato automaticamente (in questo caso, solo il payload deve essere specificato per BODY, senza dati aggiuntivi ('... Content-Disposition: form-data; ...')).

Se viene specificato BOUNDARY, il contenuto di BODY deve essere formattato in conformità con l'RFC, ma questo permette di avere più payload in BODY separati da BOUNDARY.

Altre zone sono consentite in questa directory (es.: URL, ARGS ecc.). Indipendentemente dalla zona, l'header 'Content-Type: multipart/form-data; boundary=...' verrà aggiunto a tutte le richieste.

Scarica lo strumento