¿Qué es lo peor que puede hacer un atacante con JavaScript?

¿Qué es lo peor que puede hacer un atacante con JavaScript?
Las consecuencias de lo que puede hacer un atacante con la capacidad de ejecutar JavaScript en una página web pueden no destacarse de inmediato, especialmente porque los navegadores ejecutan JavaScript en un entorno muy controlado y que JavaScript tiene acceso limitado al sistema operativo del usuario y sus archivos. 

Sin embargo, cuando se considera que JavaScript tiene acceso a lo siguiente, es más fácil comprender cómo los atacantes creativos pueden obtener con JavaScript.

  • JavaScript malicioso tiene acceso a todos los mismos objetos que tiene el resto de la página web, incluido el acceso a las cookies. Las cookies a menudo se usan para almacenar tokens de sesión, si un atacante puede obtener una cookie de sesión de un usuario, puede hacerse pasar por ese usuario.
  • JavaScript puede leer y realizar modificaciones arbitrarias en el DOM del navegador (dentro de la página en la que se ejecuta JavaScript).
  • JavaScript puede usar XMLHttpRequest para enviar solicitudes HTTP con contenido arbitrario a destinos arbitrarios.
  • JavaScript en los navegadores modernos puede aprovechar las API HTML5 como el acceso a la geolocalización, la cámara web, el micrófono e incluso los archivos específicos del sistema de archivos del usuario. Si bien la mayoría de estas API requieren la participación del usuario, XSS junto con alguna ingeniería social inteligente puede llevar a un atacante a un largo camino.

Lo anterior, en combinación con la ingeniería social, permite a los atacantes realizar ataques avanzados que incluyen el robo de cookies, el registro de teclas, el phishing y el robo de identidad. Críticamente, las vulnerabilidades de XSS proporcionan el terreno perfecto para que los atacantes escalen los ataques a otros más graves.

Leer también: ¿Qué es JavaScript malicioso? Consecuencias ; Consecuencias de un ataque XSS, daños ; Tipos de ataques XSS, clases, variantes

This post is also available in: Español