📘 Introducción

A medida que las aplicaciones web se vuelven más avanzadas y comunes, también aumentan las vulnerabilidades asociadas a ellas. Una de las más frecuentes y relevantes es Cross-Site Scripting (XSS).

🧠 Idea clave

XSS explota una mala sanitización de la entrada del usuario, permitiendo inyectar JavaScript malicioso que se ejecuta en el navegador de la víctima.

Las vulnerabilidades XSS:

📊 Esto las convierte en un riesgo medio:

Low impact + High probability = Medium risk

Por ello, es fundamental detectar, mitigar y prevenir este tipo de fallos.


❓ ¿Qué es XSS?

Una aplicación web típica funciona así:

  1. El servidor back-end envía HTML

  2. El navegador del cliente lo interpreta y renderiza

Cuando una aplicación no valida ni filtra correctamente la entrada del usuario, un atacante puede:

📌 Ejemplos comunes de puntos vulnerables:

⚠️ Importante

El código XSS no se ejecuta en el servidor, sino en el navegador de la víctima.


🧠 Impacto real de XSS

Aunque XSS no compromete directamente el servidor, sí puede causar daños graves, como:

🧩 Limitaciones técnicas

  • El código se ejecuta dentro del motor JS del navegador (ej. V8)

  • Está limitado por la Same-Origin Policy

  • No permite ejecución directa de código a nivel de sistema

Sin embargo… 👇

🚨 Escenario avanzado

Una vulnerabilidad XSS puede encadenarse con un exploit del navegador, permitiendo salir del sandbox y ejecutar código en la máquina del usuario.


📜 Casos reales de XSS

🐛 Gusano Samy (MySpace — 2005)

📌 Aunque fue inofensivo, demostró el potencial devastador de XSS.


🐦 TweetDeck (Twitter — 2014)

👉 Twitter tuvo que desactivar temporalmente TweetDeck.


🔍 Otros ejemplos relevantes

✅ Conclusión

Incluso los sistemas más grandes y auditados no están libres de XSS.


🧪 Tipos de vulnerabilidades XSS

1️⃣ Stored XSS (Persistente)

🔥 El más crítico

📌 Ocurre cuando:

🧠 Ejemplos:

📍 Impacto alto: afecta a todas las víctimas que visualicen el contenido.


2️⃣ Reflected XSS (No persistente)

📌 Ocurre cuando:

🧠 Ejemplos:

📍 Requiere que la víctima interactúe con un enlace malicioso.


3️⃣ DOM-based XSS

📌 Ocurre cuando:

🧠 Ejemplos:

🧠 Nota

Es más difícil de detectar porque no aparece en el tráfico HTTP.


🧭 Próximos pasos

En las siguientes secciones:

🚀 Continuamos con Stored XSS