Proteger sesiones en cuentas posiblemente comprometidas
No es necesario redirigir realmente a la página de inicio de sesión si la administración de la sesión tras el cambio de contraseña se realiza de forma segura. Es decir, siempre que todos los identificadores de sesión actuales se invaliden y la sesión actual se adjunte a un nuevo identificador de sesión (generalmente se emite como un token en una cookie de autenticación, la cookie solo se envía a la sesión que acaba de cambiar la contraseña). no hay riesgo de que un atacante que ya está en la cuenta se mantenga conectado.
Artículo OWASP
La razón detrás del artículo OWASP se explica a continuación. No hay nada de malo en el aspecto de seguridad, sin embargo, hay algunos problemas de usabilidad.
La funcionalidad de restablecimiento de contraseña se usa a menudo cuando un usuario desea proteger su cuenta.
Al invalidar todas las sesiones existentes al restablecer la contraseña, el sistema se asegura de que solo la persona con la nueva contraseña pueda iniciar sesión.
Digamos, por ejemplo, que un atacante que ha accedido a la cuenta con la contraseña anterior ha iniciado sesión. Al reiniciar todas las sesiones, el atacante se desconectará.
¿Por qué cerrar sesión el usuario actual, te oigo preguntar?
Bueno, digamos que el atacante se está montando en la sesión del usuario actual, por ejemplo, utilizando una vulnerabilidad de fijación de sesión . Esto significa que el atacante tiene la misma sesión que el usuario real. Al restablecer la sesión actual también se asegurará de que no haya nadie en la cuenta que no deba tener acceso.
La redirección a la página de inicio de sesión en su cita anterior realmente describe el hecho de que debe cerrar la sesión del usuario de la sesión actual y de todas las sesiones (pero no hay riesgo de que deje de ingresar a una nueva sesión con un nuevo identificador ).