XUT_ / COURSES / PENETRATION TESTER

What is Session Management

Antes de hablar sobre todo lo que puede salir mal, necesitamos aprender sobre el manejo de sesión. El protocolo HTTP es stateless. Las sesiones son, por lo tanto, usadas para trackear usuarios a través de su uso de la applicación web. El manejo de sesión es el proceso de manejar las sesiones y asegurar que se mantienen seguras.


Ciclo de Vida del Manejo de Sesiones

La mejor manera de aprender a cerca del manejo de sesiones es usar el ciclo de vida del manejo de sesiones.

Creación de Sesiones

La sesión inicial se crea antes de que visites la aplicación. Esto lo hacen para controlar lo que haces incluso antes de entrar. Una vez que metes tus credenciales, recibes un valor de sesión que se manda de nuevo con cada petición.

Control de Sesiones

Una vez recibas el valor de sesión, este se sube con cada nueva petición. Esto permite a la aplicación web rastrear tur acciones incluso aunque el protocolo HTTP sea stateless. Con cada petición, el servidor puede recuperar el valor de la sesión y hacer una comprobación server-side para asegurarse a quién pertenece.

Expiración de Sesiones

Debido a que HTTP es stateless, puede pasar que un usuario de una aplicación web de repente deje de usarla. Como es stateless, no tiene ningún método para determinar esto. Es por esto que tu sesión tiene un tiempo de actividad y pasado ese tiempo se elimina el valor de sesión y la aplicación deja de reconocerte.

Terminación de Sesiones

En algunos casos, el usuario puede forzar el cierre de sesión. En este escenario, el manager de sesiones debería eliminar el valor de la sesión del usuario. Es similar a la expiración de sesión. Sólo cambia en que si el temporizador de ttl sigue activo debería ser terminado inmediatamente.