Session Fixation (Fijación de Sesión)
Definición: La "Fijación de Sesión" es una técnica de ataque en la que un ciberdelincuente fuerza a un usuario a usar una sesión específica, que el atacante conoce o ha creado previamente. El objetivo es engañar al usuario para que se autentique (inicie sesión) con las credenciales (nombre de usuario y contraseña) en esa sesión fija. Al hacerlo, el atacante obtiene acceso a la sesión ya autenticada del usuario, permitiéndole realizar acciones o acceder a información como si fuera el usuario legítimo.
¿Cómo funciona?
Creación de sesión: El atacante inicia una sesión en una aplicación web, obtiniendo de esta manera un identificador de sesión (un código único que la aplicación usa para rastrear la actividad del usuario).
Fijación de sesión: El atacante manipula la URL, enlaces, o usa otros métodos (como correos electrónicos o scripts maliciosos) para que el usuario visite un enlace que contiene este identificador de sesión predeterminado.
Autenticación del usuario: El usuario, sin sospechar, hace clic en el enlace y procede a iniciar sesión en la aplicación web.
Adquisición de sesión: Una vez que el usuario inicia sesión, el identificador de sesión que el atacante había fijado inicialmente ahora está autenticado. Esto le permite al atacante usar este identificador de sesión para acceder a la aplicación web con los mismos privilegios que tiene el usuario legítimo.
Prevención:
Ejemplo sencillo: Imagínate que un atacante te envía un enlace a un sitio web conocido, pero que contiene un código especial que él ha puesto ahí. Cuando haces clic en el enlace y te conectas con tu nombre de usuario y contraseña, sin saberlo estás usando un "código de sesión" (identificador de sesión) que el atacante conoce. Ahora, el atacante puede usar ese mismo "código de sesión" para entrar a tu cuenta en ese sitio web.
La Fijación de Sesión es peligrosa porque no depende de un fallo en el software, sino de la forma en que la sesión es gestionada y protegida, haciendo crucial para los desarrolladores implementar medidas de seguridad apropiadas para asegurar que las sesiones no puedan ser predeterminadas o reutilizadas maliciosamente.