activar cuenta de usuario a través de correo electrónico

3

Veo que mucha gente dice "hash" para el token en la verificación de correo electrónico cuando se trata del registro de miembros.

Me pregunto, si el token de correo electrónico es solo para activar la cuenta y nada más, ¿el token de correo electrónico todavía debe estar codificado? ¿O necesito hacer un hash del token de correo electrónico?

Mi pensamiento : como no tiene correlación con la información de la cuenta, no tiene ningún efecto / acceso directo a la cuenta. incluso si el usuario intenta cambiar el token del correo electrónico, solo afectará la columna active de la base de datos de 0 a 1 (inactivo a activo).

    
pregunta Andrew 05.09.2015 - 09:32
fuente

2 respuestas

2

La discusión que está vinculando en realidad dice que no debe no escribir su token, solo debe asegurarse de que sea lo suficientemente larga y aleatoria, citando a Tom Leek:

  

No se comprometa, use un buen PRNG. No trates de hacer algo   a ti mismo lanzando en función de hash y similares; solo el dolor miente   al final de este camino.

Sin embargo, según su preocupación específica, el uso de un token previsible deficiente podría permitir que un atacante habilite cuentas, como dijo, pero lo más importante es que le permita hacerlo sin tener acceso a la dirección de correo electrónico asociada , omitiendo así el rol del sistema de verificación de correo electrónico.

Por ejemplo, un atacante puede crear una cuenta en su sitio web utilizando una dirección de correo electrónico falsa. Esta cuenta podría usarse en ataques de ingeniería social (el atacante podría actuar como si fuera un empleado de una gran empresa, otro miembro colega, etc.).

    
respondido por el WhiteWinterWolf 05.09.2015 - 11:09
fuente
1

Genere una cadena aleatoria segura criptográficamente (por ejemplo, 128 bits) y utilice esto para el token.

En el lado del servidor, puede hacer hash con SHA-256 y almacenarlo. De esa manera, si alguien realiza un ataque exitoso de inyección de SQL o algo similar, no podrá usar ninguno de los tokens recuperados. Una vez más, el token que se le proporciona al usuario por correo electrónico es la versión no lavada.

    
respondido por el SilverlightFox 07.09.2015 - 12:31
fuente

Lea otras preguntas en las etiquetas