Un comentario que contiene <script> se guarda y luego se muestra a otros usuarios, ejecutándose en sus navegadores. Esto es…
Opciones
- Reflected XSS
- Stored XSS (Opción correcta)
- CSRF
- SSRF
Respuesta
Stored XSS
Por qué
XSS (Cross-Site Scripting) significa que un atacante consigue que su JavaScript se ejecute en tu sitio, en los navegadores de otros usuarios. Ese script puede robar datos o actuar como el usuario.
Stored XSS: el script malicioso se guarda en tu base de datos (un comentario, un nombre de perfil) y se sirve a todos los que lo ven. Reflected XSS: viene de un parámetro de la URL y se devuelve una vez.
Defensa: escapa la salida (plantillas como Jinja y React lo hacen por defecto), sanea el HTML que permitas y añade una Content-Security-Policy.
Recuerda
Stored XSS = script malicioso guardado y mostrado a otros. Escapa la salida.