Robo de tokens de sesión

Autor: | Última modificación: 25 de octubre de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes qué es el robo de tokens de sesión y cómo se logra este ciberataque web?

Los ciberataques web han aumentado tanto como el uso de aplicaciones de este tipo. Para aumentar la seguridad de los sitios, es recomendable realizar auditorías, las cuales consisten en replicar las técnicas de un hacker malicioso para descubrir los puntos débiles de la aplicación. Lo anterior es necesario, ya que si no se encuentran dichas vulnerabilidades antes que un atacante, este podría explotarlas a su favor.

A la hora de realizar un test de penetración en una página web, es importante poner a prueba las vulnerabilidades más comunes de este tipo de entornos. Para familiarizarte con estos fallos de seguridad web, te recomendamos revisar la lista de OWASP Top 10, que describe los ataques más comunes contra aplicaciones web.

Según la lista de OWASP Top 10, actualizada en el 2021, la inyección de código malicioso es el tercer tipo de ataque más utilizado por hackers web. Un ciberataque que permite hacer esto es el cross-site scripting, por medio del cual se puede ejecutar comandos de JavaScript en el navegador de una víctima.

En este post, veremos cómo los atacantes pueden usar el cross-site scripting para robar información confidencial de un usuario y llegar a suplantar su identidad. A continuación, te explicaremos cómo se realiza el robo de tokens de sesión de un usuario por medio de un ataque XSS.

Robo de tokens de sesión

Como decíamos en la introducción, el cross-site scripting o XSS es un tipo de ciberataque web que permite ejecutar código JavaScript malicioso en el navegador de una víctima a través de una aplicación vulnerable. Las vulnerabilidades XSS pueden variar, lo cual determina el tipo de XSS que pueda ser ejecutado. El ejemplo que veremos a continuación, acerca del impacto de un ataque XSS, muestra cómo puede utilizarse para el robo de tokens de sesión de una víctima.

El token se sesión de un usuario es la cookie asignada por el servidor al cliente con el fin de recordar su identidad y mantener la sesión iniciada. En el caso de obtener este token, un atacante podría acceder a la sesión del usuario y suplantar su identidad. Para ello, puede usar un comando de JavaScript que revela dicha información.

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Al encontrar una posible vulnerabilidad XSS, un atacante debe ponerla a prueba ejecutando cualquier tipo de comando en JavaScript. Uno muy común es el de ejecutar una alerta en el navegador, lo cual es útil para revisar que la vulnerabilidad exista y sea explotable. El comando en JavaScript para ejecutar una alerta en el navegador es:

<script>alert(123)</script>

Dicho comando producirá una ventana de alerta en el navegador con el mensaje «123». Al verificar que la inyección de código funciona, el atacante podría también introducir el siguiente comando en la entrada vulnerable de la aplicación:

<script>alert(document.cookie)</script>

Con este nuevo payload se le está dando la orden al navegador de mostrar una alerta en pantalla con el token de sesión del usuario que ha abierto la página. Finalmente, el ataque se puede propagar mediante la incrustación de este código en la dirección URL de la página. Así, quien haga clic en este enlace ejecutará el payload en su navegador, con lo que puede ejecutarse un robo de tokens de sesión por medio de un ataque XSS.

Tipos de XSS

El robo de tokens de sesión puede ejecutarse por medio de cualquier tipo de cross-site scripting. Los tres tipos de XSS son:

  • XSS reflejado: la vulnerabilidad se encuentra en una entrada de datos de la página, que puede ser utilizada para inyectar código.
  • XSS persistente: la vulnerabilidad se encuentra en una entrada de datos de la página, la cual almacena los inputs ingresados por los usuarios, como los comentarios en un foro.
  • XSS basado en DOM: permite ejecutar código JavaScript desde el frontend del código fuente de la aplicación, debido a una falta de validación de los inputs del usuario.

¿Cómo aprender más?

Ya sabes cómo se puede utilizar el ataque XSS para realizar el robo de tokens de sesión de un usuario. Si quieres aprender más sobre técnicas de hacking web, ingresa a nuestro Ciberseguridad Full Stack Bootcamp. Allí, podrás convertirte en un especialista en tan solo 7 meses. ¡No esperes más y dale un gran impulso a tu carrera!

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado