floure.ARCHIVO / Ciberseguridad
← Volver a la colección2 MIN DE LECTURA

Ciberseguridad

XSS

Ataques

Web Exploits

En XSS importa el contexto donde termina el dato: texto, atributo, URL o código no se protegen de la misma forma. Una limpieza genérica no sirve de talismán para todo. (¬_¬;)

En Cross-Site Scripting (XSS), datos controlables por un atacante terminan ejecutándose como contenido activo en el contexto de un sitio vulnerable. El fallo puede estar en la respuesta del servidor o en el código del navegador. No hace falta modificar permanentemente los archivos del sitio.

XSS

Para estudiarlo aparecen tres nombres conocidos, pero ojo: no son cajones excluyentes. Reflejado y almacenado describen cómo llega o persiste la carga; DOM-based señala un mecanismo de procesamiento en el cliente.

  1. Reflejado: la entrada vuelve en una respuesta y se interpreta de forma insegura. Un resultado de búsqueda que incorpora datos de una petición es un ejemplo conceptual; cambiar una URL no provoca XSS por sí solo.

  2. Almacenado: la carga persiste y se procesa después. Puede venir de un comentario guardado, pero almacenar texto tampoco ejecuta nada automáticamente: importa cómo se utiliza al mostrarlo.

  3. DOM-based: el código del cliente lleva datos controlables a una operación peligrosa sobre el DOM. Puede combinarse con entrega reflejada o almacenada; no es simplemente cualquier cambio de configuración visual.

Esta relación está explicada en OWASP: tipos de XSS. No uso «de imagen», «basado en el tiempo» o «de historial» como categorías equivalentes: un vector concreto no define por sí solo otra clase de ataque.

Input Sanitization

No alcanza con pedir «sanitizar la entrada». Para mostrar texto, usar el escape o codificación de salida adecuado al contexto. HTML, atributos, URL y JavaScript no se interpretan igual.

Si necesitamos admitir HTML, utilizar un sanitizador mantenido y configurado para ese propósito. Cuando solo necesitamos texto, preferir operaciones como textContent frente a introducirlo como HTML. El autoescape del framework ayuda mientras no lo saltemos mediante sus APIs de contenido crudo.

La guía de prevención de OWASP detalla estos controles. Una CSP puede aportar otra capa; no reemplaza reparar el uso inseguro del dato.

Véase también

  • SQL Injection — Inyección interpretada por la base de datos.
  • CSRF — Acciones no deseadas aprovechando las credenciales que acompaña el navegador.
+----------------------------------------+
| Floure &                               |
| Tachibana's guild                      |
| [Hikari · Nozomi]                      |
| SEAL: sha256/12: 93528ee2691a          |
| STATUS: LITURGY_IN_PROGRESS            |
+----------------------------------------+

Conexiones

Abrir red completa ↗
✳

Fin del apunte

Seguir explorando ↗