Web Application Penetration Testing Checklist

El pentesting de aplicaciones web consiste en identificar, analizar y reportar vulnerabilidades que pueden poner en riesgo la confidencialidad, integridad o disponibilidad de los sistemas. Entre los riesgos más comunes se encuentran la ejecución de código, la inyección de comandos, el bypass de autenticación, las inyecciones SQL, los ataques CSRF, y las inyecciones de scripts (XSS).

Realizar un pentest web de forma sistemática permite anticipar amenazas reales y corregir fallos antes de que sean explotados. Les presentamos un cheat sheet con cada etapa clave, técnicas recomendadas y herramientas que nos ayudarán a realizar pruebas exhaustivas.

Recolección de Información

La primera fase es obtener la mayor cantidad de datos sobre la aplicación y su infraestructura:

  • Revisar robots.txt: usa wget para descargarlo y descubrir rutas excluidas.

  • Identificar software y versiones: observa mensajes de error, cabeceras HTTP y páginas inválidas.

  • Consultar DNS: aplica consultas inversas, zone transfers y búsquedas en bases públicas.

  • Enumerar directorios y URLs: mediante nmap, dirb, nikto o nessus.

  • Mapear puntos de entrada: herramientas como Burp Suite, OWASP ZAP y Webscarab te permiten interceptar peticiones.

  • Fingerprinting de servicios: nmap y amap ayudan a identificar tecnologías subyacentes.

  • Probar extensiones comunes: solicita rutas con .asp, .php, .html para detectar configuraciones por defecto.

  • Revisar código fuente accesible: examina comentarios y scripts expuestos en las páginas públicas.

Una recolección minuciosa facilita detectar vectores de ataque y planificar los siguientes pasos.

Pruebas de Autenticación

El objetivo es evaluar si los mecanismos de login son robustos y no permiten acceso indebido:

  • Verifica si la sesión persiste después de cerrar sesión o tras un tiempo de inactividad.

  • Comprueba si datos sensibles quedan en caché del navegador.

  • Prueba la recuperación de contraseñas con ingeniería social o respuestas predecibles.

  • Examina si el formulario guarda contraseñas en campos ocultos (“Remember me”).

  • Comprueba si dispositivos hardware se comunican por canales adicionales inseguros.

  • Valida la efectividad de CAPTCHAs.

  • Identifica preguntas de seguridad débiles.

  • Ten presente que una inyección SQL aquí puede exponer datos críticos. Contar con un WAF ayuda a filtrar consultas maliciosas.

Pruebas de Autorización

Se trata de comprobar que los usuarios sólo acceden a recursos permitidos:

  • Manipula roles o privilegios para acceder a datos de otros usuarios.

  • Lanza ataques de path traversal (../) para acceder a rutas restringidas.

  • Modifica cookies y parámetros con Burp o ZAP.

  • Prueba peticiones HTTP alteradas para comprobar si se obtiene acceso no autorizado.

Pruebas de Gestión de Configuración

Una configuración deficiente expone información sensible:

  • Enumera directorios y revisa documentación antigua, respaldos y archivos olvidados.

  • Analiza banners de servidor y servicios expuestos.

  • Identifica puertos y servicios SSL/TLS activos con nmap y nessus.

  • Revisa métodos HTTP habilitados (OPTIONS, TRACE) mediante telnet o netcat.

  • Realiza pruebas XST (Cross Site Tracing) y revisa códigos de error.

  • Comprueba configuraciones por defecto en archivos de log y plantillas de error.

Pruebas de Gestión de Sesión

Aquí se valida la seguridad de tokens y cookies:

  • Revisa URLs restringidas en busca de CSRF.

  • Analiza el uso de tokens en GET y POST.

  • Recolecta varias muestras de cookies y estudia su algoritmo.

  • Usa proxies de interceptación como Burp para alterar atributos de sesión.

  • Prueba ataques de session fixation.

Validación de Datos

La falta de validación robusta permite inyecciones peligrosas:

  • Revisa el código JavaScript para errores de validación.

  • Prueba inyecciones SQL (union, boolean, time-based) con sqlmap, sqlninja o sql power injector.

  • Busca XSS almacenado y reflejado.

  • Realiza inyecciones LDAP, IMAP/SMTP, XPATH y XML.

  • Prueba code injection para ejecutar comandos arbitrarios.

  • Haz pruebas de buffer overflow.

  • Lanza ataques de HTTP request smuggling y splitting.

Pruebas de Denegación de Servicio

Evalúa la resistencia frente a ataques de saturación:

  • Envía gran volumen de solicitudes que disparen operaciones pesadas.

  • Analiza el código fuente buscando entradas que consuman muchos recursos.

  • Realiza ataques con comodines SQL.

  • Comprueba si el usuario puede crear objetos sin límite.

  • Envía entradas extremadamente grandes y observa la respuesta del servidor.

  • Automatiza envío de valores enormes para llenar logs o memoria.

El pentesting de aplicaciones web es mucho más que ejecutar escáneres automáticos. Requiere planificación metódica, revisión manual y el uso combinado de herramientas. Este checklist nos ayudará a estructurar nuestras pruebas de manera completa y repetible.

Recuerdemos que un análisis serio no sólo detecta vulnerabilidades, sino que aporta contexto y recomendaciones claras para mitigarlas. La seguridad es un proceso continuo, no un estado estático.

Si queremos profundizar, nos tenemos que familiarizar con OWASP Testing Guide.

Donaciones
STREAMER

[sp_wpcarousel id="11665"]

Segui Nuestras Redes
  • LinkedIn17.3k+
  • Whatsapp1.7k+

Advertisement

Loading Next Post...
Encontranos
Search Trending
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...

All fields are required.