Checklist de testing de aplicaciones web
Nota tecnica de ciberseguridad.
Checklist práctica para pruebas web (manual + herramientas). Adaptar al alcance y permisos.
Preparación
- Alcance definido (in-scope / out-of-scope, fechas, límites, DoS prohibido).
- Entorno y cuentas (roles) disponibles; datos de prueba aprobados.
- Evidencia: carpeta/nota de lab para capturas, logs, requests/responses relevantes.
- Referencias: OWASP ASVS/Testing Guide (si aplica)
Reconocimiento y mapeo
- Identificar dominios/subdominios, endpoints, rutas, APIs y métodos HTTP.
- Enumerar parámetros y fuentes de input (query, body, headers, cookies, uploads).
- Identificar tecnologías (framework, servidor, WAF/CDN, auth provider).
- Revisar headers de seguridad y caching (HSTS, CSP, cookies, cache-control).
Autenticación
- Política de contraseñas y MFA (si aplica).
- Brute force / password spraying protegido (rate limit, lockout, captcha, IP reputation).
- Recuperación de cuenta: no filtra existencia de usuario; tokens expiran; enlaces single-use.
- Cambios sensibles requieren re-auth (password/MFA) (p.ej., cambio email, 2FA).
Autorización (control de acceso)
- IDOR/BOLA: acceder a recursos de otros usuarios (IDs incrementales, UUID, referencias).
- Roles: endpoints admin inaccesibles a usuarios estándar.
- Vertical/horizontal privilege escalation.
- Verificar control en backend (no confiar en UI).
Sesión y cookies
- Cookies
HttpOnly,Secure,SameSiteadecuadas. - Tokens rotan en login y tras elevación de privilegios; invalidación en logout.
- Session fixation: el ID cambia tras autenticación.
- Timeouts: idle + absolute; manejo de refresh tokens si hay OIDC.
Validación de entrada y parsing
- SQL Injection (incluye blind/time/error-based según DB).
- XSS (reflected/stored/DOM) + CSP efectiva.
- Command injection / template injection / deserialization (si stack aplica).
- SSRF: validación estricta de destinos, allowlists, metadata IPs (cloud).
- Path traversal / LFI/RFI.
- File upload: tipo/MIME/extensión, content sniffing, tamaño, AV, storage aislado.
Configuración y exposición
- Debug habilitado / stack traces / errores verbosos.
- Secrets en frontend, repos o endpoints (API keys, tokens).
- Directorios sensibles, backups,
.env, paneles admin expuestos. - CORS: orígenes estrictos, credenciales controladas.
Criptografía y datos sensibles
- TLS correcto (no mixed content, cookies Secure, HSTS donde aplique).
- Datos sensibles no en logs/client-side; masking.
- Hash de contraseñas robusto (Argon2/bcrypt/scrypt) — si se puede verificar.
- Gestión de claves/rotación (KMS/secret manager) — si aplica.
Lógica de negocio
- Cambios de precio/cantidad/stock en cliente no confiables.
- Race conditions (doble gasto, overbooking).
- Flujos críticos (checkout, reset password, OTP) con validaciones server-side.
Observabilidad y respuesta
- Logs de autenticación/autoridad/cambios sensibles existen.
- Alertas por patrones (fallos repetidos, accesos anómalos).
- Evidencia de mitigación (WAF rules, detecciones SIEM) — si existe SOC.
Cierre
- Hallazgos documentados con evidencia (request/response, pasos, impacto).
- Severidad contextual (activo, exposición, exploitabilidad, impacto).
- Recomendaciones accionables (parche, config, control compensatorio).