
Detectar si un sitio está protegido por un WAF (Web Application Firewall) es una de las primeras tareas que cualquier profesional de seguridad ofensiva debe realizar antes de avanzar con pruebas más profundas. Si bien existen herramientas automáticas como wafw00f, siempre es recomendable realizar también verificaciones manuales para obtener mejores resultados o confirmar falsos positivos/negativos.
Una de las formas más rápidas y sencillas de comenzar es con la herramienta wafw00f. Esta herramienta realiza una serie de peticiones HTTP y analiza las respuestas para determinar si hay un WAF presente.
Ejemplo básico:
Este comando devolverá si el sitio está protegido por un WAF conocido. Sin embargo, si el resultado es “No WAF detected”, no significa que el sitio esté 100% libre de protección. Algunos WAF pueden estar configurados de forma personalizada o no reaccionar ante las pruebas comunes.
Por eso, es importante realizar pruebas manuales.
Vamos a utilizar como ejemplo el sitio http://scanme.nmap.org/, un dominio público provisto por los desarrolladores de Nmap para pruebas de escaneo.
Primero, comprobamos que el sitio responde normalmente.
curl -I http://scanme.nmap.org/
Esto debería devolver un encabezado HTTP/1.1 200 OK u otro código que nos indique que el servidor está respondiendo.
Los WAF suelen reaccionar ante patrones de ataque comunes. Probemos con un payload de XSS:
curl -I "http://scanme.nmap.org/?q=<script>alert(1)</script>"
Resultado esperado sin WAF: Respuesta 200 OK.
Resultado con WAF: Podría devolver 403 Forbidden, 406 Not Acceptable, o una página de bloqueo personalizada.
curl -I "http://scanme.nmap.org/?id=' OR '1'='1"
Si el servidor responde normalmente, probablemente no hay WAF o no está activado para ese tipo de petición. Si bloquea, redirige o responde con códigos raros, puede ser que haya un WAF activo.
Algunos WAFs analizan también los headers. Puedes probar con:
curl -I http://scanme.nmap.org/ -H "User-Agent: sqlmap"
Si el servidor te bloquea solo por usar “sqlmap” como user-agent, es una buena señal de que hay un WAF monitoreando.
Muchos WAF responden con errores como:
Estos son indicadores comunes de que algo está interceptando y filtrando tus peticiones.
curl -I y buscá cabeceras como Server, X-CDN, X-WAF, Set-Cookie, etc.ffuf, sqlmap, burpsuite y nmap también pueden ayudarte a detectar comportamientos sospechosos.Detectar un WAF no es solo ejecutar una herramienta, sino entender cómo responde un servidor ante diferentes tipos de peticiones. En el ejemplo de http://scanme.nmap.org/, vimos que se puede verificar manualmente si hay o no un sistema de protección delante del servidor. Esto es esencial para definir el enfoque de cualquier pentest o evaluación de seguridad.
#wafdetect ? #cybersecurity ?️ #pentesting ? #linux ? #manualtesting ? #infosec ? #hacking ? #curltips ? #nmap ?️ #kali ?
Para continuar, resuelve el CAPTCHA y acepta recibir correos: