Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
waf-bypass — Ferramenta automatizada de teste de segurança WAF que detecta falsos positivos e falsos negativos usando mais de 15 categorias de payloads, incluindo SQLi, XSS, RCE e injeção GraphQL. Suporta Docker, saída JSON e payloads personalizados. | Kitploit
Ferramentas/GitHubGitHub/nemesida-waf/waf-bypass
Scanners de VulnerabilidadesTestes de Segurança de APIsBypass de WAFSegurança WebTestes de Penetração
GitHubnemesida-waf/waf-bypass

waf-bypass

Ferramenta automatizada de teste de segurança WAF que detecta falsos positivos e falsos negativos usando mais de 15 categorias de payloads, incluindo SQLi, XSS, RCE e injeção GraphQL. Suporta Docker, saída JSON e payloads personalizados.

Ver Repositório
1.5k185há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Ferramenta de Bypass de WAF

WAF Bypass Tool é uma ferramenta de código aberto para analisar a segurança de qualquer WAF em relação a Falsos Positivos e Falsos Negativos usando payloads predefinidos e personalizáveis. Verifique seu WAF antes que um invasor o faça. WAF Bypass Tool é desenvolvido pela equipe Nemesida WAF com a participação da comunidade.

WAF Bypass Tool

Não faça nada ilegal

É proibido usar para fins ilegais e ilícitos. Não infrinja a lei. Não nos responsabilizamos por possíveis riscos associados ao uso deste software.

Como executar

Executar usando Docker

O waf-bypass mais recente está sempre disponível via Docker Hub. Pode ser facilmente baixado através do seguinte comando:

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

Executar usando pipx

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

Executar diretamente do código-fonte usando 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'

Opções

  • '--proxy' (--proxy='http://proxy.example.com:3128') - opção permite especificar onde conectar em vez do host.

  • '--header' (--header 'Authorization: Basic YWRtaW46YWRtaW4=' --header 'X-TOKEN: ABCDEF') - opção permite especificar o cabeçalho HTTP a ser enviado em todas as requisições (por exemplo, para autenticação). O uso múltiplo é permitido.

  • '--user-agent' (--user-agent 'MyUserAgent 1/1') - opção permite especificar o User-Agent HTTP a ser enviado em todas as requisições, exceto quando o User-Agent é definido pelo payload ("USER-AGENT").

  • '--block-code' (--block-code='403' --block-code='222') - opção permite especificar o código de status HTTP a ser esperado quando o WAF é bloqueado. (padrão é 403). O uso múltiplo é permitido.

Formato JSON

Exemplo de especificação de saída 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'"
      },
      ...
    }
  }
}

Payloads

Dependendo do propósito, os payloads estão localizados nas pastas apropriadas:

  • FP - False Positive payloads
  • API - API testing payloads
  • CM - Custom HTTP Method payloads
  • GraphQL - GraphQL testing payloads
  • LDAP - LDAP Injection payloads
  • LFI - Local File Include payloads
  • MFD - multipart/form-data payloads
  • NoSQLi - NoSQL Injection payloads
  • OR - Open Redirect payloads
  • RCE - Remote Code Execution payloads
  • RFI - Remote File Inclusion payloads
  • SQLi - SQL Injection payloads
  • SSI - Server-Side Includes payloads
  • SSRF - Server-Side Request Forgery payloads
  • SSTI - Server-Side Template Injection payloads
  • UWA - Unwanted Access payloads
  • XSS - Cross-Site Scripting payloads

Escreva seus próprios payloads

Ao compilar um payload, as seguintes zonas, método e opções são usadas:

  • URL - caminho da requisição
  • ARGS - consulta da requisição
  • BODY - corpo da requisição
  • COOKIE - cookie da requisição
  • USER-AGENT - user-agent da requisição
  • REFERER - referer da requisição
  • HEADER - cabeçalho da requisição
  • METHOD - método da requisição
  • BOUNDARY - especifica o conteúdo do boundary da requisição. Aplicável apenas a payloads no diretório MFD.
  • ENCODE - especifica o tipo de codificação do payload (Base64, HTML-ENTITY, UTF-16) além da codificação para o payload. Valores múltiplos são indicados com um espaço (ex.: Base64 UTF-16). Aplicável apenas às zonas ARGS, BODY, COOKIE e HEADER. Não aplicável a payloads nos diretórios API e MFD. Não compatível com a opção JSON.
  • JSON - especifica que o corpo da requisição deve estar em formato JSON
  • BLOCKED - especifica se a requisição deve ser bloqueada (teste FN) ou não (FP)

Exceto por alguns casos descritos abaixo, as zonas são independentes umas das outras e são testadas separadamente (se 2 zonas forem especificadas, o script enviará 2 requisições - verificando alternadamente uma e a segunda zona).

Para as zonas, você pode usar o sufixo %RND%, que permite gerar uma string arbitrária de 6 letras e números. (ex.: param%RND=my_payload ou param=%RND% OU A%RND%B)

Você pode criar seus próprios payloads; para isso, crie sua própria pasta na pasta '/payload/', ou coloque o payload em uma existente (ex.: '/payload/XSS'). O formato de dados permitido é JSON.

Diretório API

Os payloads de teste de API localizados neste diretório são automaticamente acrescidos de um cabeçalho 'Content-Type: application/json'.

Diretório MFD

Para payloads MFD (multipart/form-data) localizados neste diretório, você deve especificar o BODY (obrigatório) e BOUNDARY (opcional). Se BOUNDARY não for definido, será gerado automaticamente (neste caso, apenas o payload deve ser especificado para o BODY, sem dados adicionais ('... Content-Disposition: form-data; ...').

Se um BOUNDARY for especificado, então o conteúdo do BODY deve ser formatado de acordo com a RFC, mas isso permite múltiplos payloads no BODY separados por BOUNDARY.

Outras zonas são permitidas neste diretório (ex.: URL, ARGS etc.). Independentemente da zona, o cabeçalho 'Content-Type: multipart/form-data; boundary=...' será adicionado a todas as requisições.

Baixar ferramenta
  • '--threads' (--threads=15) - opção permite especificar o número de threads de varredura paralela (padrão é 10).

  • '--timeout' (--timeout=10) - opção permite especificar um tempo limite de processamento de requisição em segundos. (padrão é 30).

  • '--exclude-dir' - exclui o diretório de payloads (--exclude-dir='SQLi,XSS').

  • '--json-format' - opção que permite exibir o resultado do trabalho em formato JSON (útil para integrar a ferramenta com plataformas de segurança). Se a opção não for especificada, a saída será em formato de tabela (o formato padrão).

  • '--details' - exibe os payloads de Falso Positivo e Falso Negativo. Não compatível com a opção --json-format.

  • '--no-progress' - não exibe barra de progresso.

  • '--curl-replay' - exibe o comando cURL para reproduzir requisições de Falso Positivo, Falso Negativo ou Falha. Não compatível com a opção --json-format.