Sigo la hoja de trucos de owasp para gestionar sesiones en mi aplicación web: enlace
Se recomienda generar siempre una nueva sesión en cualquier cambio de privilegio, como durante la autenticación. Entonces, cuando un usuario ha ingresado el nombre de usuario y amp; contraseña, se genera una nueva sesión.
Pero luego agregué 2FA a la autenticación. Así que después de nombre de usuario y amp; contraseña Se le solicita al usuario que ingrese su código de verificación 2FA con otra próxima solicitud.
Pregunta: ¿debo generar una nueva sesión después de un nombre de usuario y amp exitosos? ¿Verificación de contraseña o solo después de 2FA cuando se completa la autenticación?
Mis pensamientos:
- Después del nombre de usuario & contraseña el usuario solo tiene un privilegio: para ingresar el código 2FA. Entonces, a través de la fijación de la sesión, un atacante puede acceder a esa etapa 2FA si la sesión sigue siendo la misma.
- A pesar de que un atacante puede acceder a esa etapa 2FA, no le ayuda a pasar 2FA de todos modos. Y si después de 2FA se genera una nueva sesión, el atacante no lo pasará de todos modos.
- Si se genera una nueva sesión antes de 2FA, luego de 2FA se debe generar una nueva, porque ese es el punto del cambio de privilegio principal, ¿verdad?