Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 268

Cross-Site Scripting (XSS)

Revisado porCybersecurity entrepreneur & security researcher

¿Qué es Cross-Site Scripting (XSS)?

Cross-Site Scripting (XSS)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.


El Cross-Site Scripting (XSS) ocurre cuando una aplicación web refleja o almacena entrada no confiable en sus respuestas sin un escape sensible al contexto, lo que permite que JavaScript controlado por el atacante se ejecute en el navegador de la víctima bajo el origen del sitio, heredando sus cookies, el acceso al DOM y los privilegios del mismo origen. Las tres clases son: reflejado (el payload se devuelve desde la petición), almacenado (el payload se persiste en el servidor, p. ej. en un comentario) y basado en DOM (el sink reside en el JavaScript del lado cliente, como innerHTML o document.write).

La demostración canónica del alcance del XSS almacenado es el gusano Samy: el 4 de octubre de 2005, Samy Kamkar colocó un payload de JavaScript en su perfil de MySpace que lo añadía como amigo y se copiaba a sí mismo en el perfil de cada visitante. Infectó más de un millón de cuentas en menos de 20 horas —el gusano de propagación más rápida hasta la fecha— y provocó una redada del Secret Service y una declaración de culpabilidad por delito grave. El XSS sigue siendo un elemento básico del OWASP Top 10, integrado en A03:2021 (Inyección).

Las defensas son por capas: codificación de salida sensible al contexto (HTML, atributo, JS, URL), una Content-Security-Policy estricta con nonces o hashes para bloquear el script en línea, autoescapado del framework (React, Angular), Trusted Types para blindar los sinks peligrosos del DOM, y cookies HttpOnly/SameSite para limitar el robo de sesión. La validación de entrada ayuda, pero no es suficiente por sí sola.

flowchart LR
  A[El atacante envía el payload] --> W[La app web almacena o refleja la entrada]
  W -->|Salida sin escapar| V[El navegador de la víctima renderiza la página]
  V --> X[El script del atacante se ejecuta en el origen del sitio]
  X --> S[Robar cookies/sesión, keylogging, pivotar]

Ejemplos

  1. 01

    Un payload XSS almacenado en un post de un foro roba las cookies de sesión de cada usuario que abre el hilo.

  2. 02

    Un XSS reflejado en un parámetro de búsqueda ejecuta JavaScript del atacante mediante un enlace preparado.

Preguntas frecuentes

¿Qué es Cross-Site Scripting (XSS)?

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. Pertenece a la categoría de Ataques y amenazas en ciberseguridad.

¿Qué significa Cross-Site Scripting (XSS)?

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.

¿Cómo defenderse de Cross-Site Scripting (XSS)?

Las defensas contra Cross-Site Scripting (XSS) combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para Cross-Site Scripting (XSS)?

Nombres alternativos comunes: XSS.

Términos relacionados

Véase también