XSS Almacenado
¿Qué es XSS Almacenado?
XSS AlmacenadoVulnerabilidad de scripting entre sitios persistente: el script del atacante se guarda en el servidor y se ejecuta en el navegador de cada visitante.
El XSS almacenado (o persistente) ocurre cuando una aplicación acepta entrada no confiable, la guarda en una base de datos, sistema de archivos o registro, y posteriormente la renderiza en HTML sin codificación de salida adecuada. Como la carga vive en el servidor, todo usuario que visite la página afectada ejecuta automáticamente el script, lo que lo convierte en una de las fallas web de mayor impacto. Objetivos típicos son comentarios, perfiles de usuario, reseñas de productos y paneles administrativos que muestran registros. Las defensas incluyen codificación de salida sensible al contexto, una Política de Seguridad de Contenidos estricta, validación de entrada y librerías de sanitización como DOMPurify.
● Ejemplos
- 01
Comentario de blog con <script>fetch('/api/me').then(...)</script> que se ejecuta para cada lector.
- 02
El atacante guarda una carga en su nombre de perfil que se ejecuta en el panel de administración.
● Preguntas frecuentes
¿Qué es XSS Almacenado?
Vulnerabilidad de scripting entre sitios persistente: el script del atacante se guarda en el servidor y se ejecuta en el navegador de cada visitante. Pertenece a la categoría de Ataques y amenazas en ciberseguridad.
¿Qué significa XSS Almacenado?
Vulnerabilidad de scripting entre sitios persistente: el script del atacante se guarda en el servidor y se ejecuta en el navegador de cada visitante.
¿Cómo funciona XSS Almacenado?
El XSS almacenado (o persistente) ocurre cuando una aplicación acepta entrada no confiable, la guarda en una base de datos, sistema de archivos o registro, y posteriormente la renderiza en HTML sin codificación de salida adecuada. Como la carga vive en el servidor, todo usuario que visite la página afectada ejecuta automáticamente el script, lo que lo convierte en una de las fallas web de mayor impacto. Objetivos típicos son comentarios, perfiles de usuario, reseñas de productos y paneles administrativos que muestran registros. Las defensas incluyen codificación de salida sensible al contexto, una Política de Seguridad de Contenidos estricta, validación de entrada y librerías de sanitización como DOMPurify.
¿Cómo defenderse de XSS Almacenado?
Las defensas contra XSS Almacenado combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para XSS Almacenado?
Nombres alternativos comunes: XSS Persistente, XSS Tipo 2.
● Términos relacionados
- attacks№ 240
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.
- attacks№ 912
XSS Reflejado
XSS no persistente en el que una entrada controlada por el atacante se refleja inmediatamente en la respuesta y se ejecuta en el navegador de la víctima.
- attacks№ 347
XSS Basado en DOM
Variante de XSS donde la inyección y la ejecución ocurren totalmente en el navegador porque JavaScript del cliente escribe datos no confiables en un sink sin sanear.
- appsec№ 214
Política de Seguridad de Contenidos (CSP)
Cabecera HTTP que indica al navegador qué orígenes de scripts, estilos, marcos y otros recursos están permitidos, limitando el impacto de XSS y de inyecciones de datos.
- appsec№ 773
Codificación de salida
Transformar datos no confiables a un formato seguro para un contexto específico (HTML, JavaScript, URL, SQL, shell) para que no escapen y se ejecuten como código.
- appsec№ 538
Validación de entrada
Comprobación del lado del servidor que verifica que cada entrada no confiable cumple el tipo, longitud, rango, formato y conjunto de valores esperados antes de ser procesada.
● Véase también
- № 104XSS Ciego