Sitio web que permite diferentes cuentas con el mismo nombre de usuario

2

Estoy realizando una auditoría en un sitio web y descubrí que puedes crear diferentes cuentas con el mismo nombre de usuario, pero con contraseñas diferentes.

un usuario 'a' con contraseña 'a' tendrá una cuenta diferente a la del usuario 'a', pero con la contraseña 'b'.

Tengo la sensación de que este comportamiento es incorrecto, pero no veo claramente cuál es el riesgo al hacerlo.

Por el momento, no hay un sistema de recuperación de cuentas en el sitio web.
el fallo de inicio de sesión dice "nombre de usuario o contraseña incorrectos", por lo que no revela a los usuarios existentes.

¿Podría explicarme cuáles son los riesgos de proporcionar este comportamiento?

    
pregunta tux lu 15.05.2017 - 11:37
fuente

3 respuestas

3

Este comportamiento sugiere que las contraseñas no se almacenan de manera correcta.

Es de suponer que el sitio web que audita busca usuarios en una base de datos, haciendo coincidir los campos nombre de usuario y contraseña. Esto significa que la contraseña no está hash o hash de forma predecible. Si todas las contraseñas tuvieran un salt diferente, la función de búsqueda tendría que verificar cada contraseña en la base de datos. Esto solo se puede hacer en un tiempo razonable cuando se usa una función hash muy rápida, lo cual es una mala idea al almacenar contraseñas.

Por lo tanto, las contraseñas no están hash, hash sin sal o hash con una función hash muy rápida. Esto no es óptimo, ya que es recomendado para hash de contraseñas usando sales y un función hash lenta, como bcrypt.

    
respondido por el Sjoerd 15.05.2017 - 13:46
fuente
0

Una vez trabajé como desarrollador en un software que identificaba a los usuarios por par (nombre de usuario, contraseña), por lo que los nombres de usuario no tenían que ser únicos. Sin embargo, ocasionalmente sucedería que dos usuarios elegirían el mismo nombre de usuario y contraseña. Creo que el resultado fue que accidentalmente terminarías en la cuenta de otro usuario.

Tenga en cuenta que esto solo es probable que ocurra si no tiene restricciones en las contraseñas. Si compara las contraseñas con un diccionario para eliminar las contraseñas más comunes, es poco probable que dos usuarios elijan la misma contraseña.

    
respondido por el Sjoerd 15.05.2017 - 13:23
fuente
0

Además del riesgo con la forma en que se almacenan / eliminan las contraseñas que se menciona en la respuesta de Sjoerd, esta situación dificulta el registro o el comportamiento de la auditoría. Si ve que el usuario 'a' hizo algo, ¿lo hizo el que tenía la contraseña 'a' o 'b'? Técnicamente, esto se puede evitar registrando un identificador único independiente, como un número de cuenta, pero también se puede evitar usando nombres de usuario únicos en primer lugar.

    
respondido por el RobertF 15.11.2018 - 17:35
fuente

Lea otras preguntas en las etiquetas