CyberGlossary

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