Ataques y amenazas
Cross-Site Scripting (XSS)
También conocido como: XSS
Definición
Vulnerabilidad web que permite a un atacante inyectar scripts maliciosos en páginas vistas por otros usuarios, ejecutándose en el navegador de la víctima bajo el origen del sitio.
Cross-Site Scripting (XSS) ocurre cuando una aplicación web incluye entrada no confiable en sus respuestas sin un escape o saneado adecuado, lo que permite que JavaScript controlado por el atacante se ejecute en el navegador de la víctima. Las tres clases principales son XSS reflejado (payload enviado en la petición y devuelto), XSS almacenado (payload persistido en el servidor, p. ej. en comentarios) y XSS basado en DOM (el fallo vive en el código cliente). Un XSS exitoso puede secuestrar sesiones, robar tokens, modificar páginas, distribuir malware o encadenar con SSRF y CSRF. Las defensas incluyen output encoding sensible al contexto, una Content-Security-Policy estricta, plantillas seguras del framework, cookies HTTPOnly y SameSite y validación de entrada.
Ejemplos
- Un payload XSS almacenado en un post de un foro roba las cookies de sesión de cada usuario que abre el hilo.
- Un XSS reflejado en un parámetro de búsqueda ejecuta JavaScript del atacante mediante un enlace preparado.
Términos relacionados
Cross-Site Request Forgery (CSRF)
Ataque web que fuerza al navegador de un usuario autenticado a enviar peticiones no deseadas a un sitio vulnerable, ejecutando acciones sin su consentimiento.
Content Security Policy (CSP)
Content Security Policy (CSP) — definition coming soon.
Secuestro de sesión
Ataque que toma el control de la sesión autenticada de una víctima robando o falsificando su identificador de sesión, para actuar como el usuario sin sus credenciales.
Input Validation
Input Validation — definition coming soon.
Output Encoding
Output Encoding — definition coming soon.
OWASP Top 10
OWASP Top 10 — definition coming soon.