¿Qué es común decir solo que "el nombre de usuario o la contraseña son incorrectos" en caso de errores de inicio de sesión? [duplicar]

1

Al iniciar sesión en un sitio con credenciales de usuario / contraseña incorrectas, el error que se muestra generalmente es un "nombre de usuario o contraseña genérico". Al buscar en algún código PHP que maneja dicho inicio de sesión, encontré una solicitud MYSQL restringida tanto en la identificación del usuario como en el hash de la contraseña, lo que hace imposible determinar cuál de las cadenas era incorrecta si la solicitud no responde.

¿Hay algún principio de seguridad que explique por qué los sitios no buscan el nombre de usuario y luego coinciden con la contraseña, y también por qué no hacen que los mensajes de error sean más específicos ("Nombre de usuario desconocido", "Contraseña incorrecta" )?

    
pregunta Dunaril 03.11.2013 - 16:43
fuente

2 respuestas

4

Porque le estarías dando información al atacante.

Si dices "El nombre de usuario es incorrecto" o "La contraseña es incorrecta", el atacante sabe que uno es correcto. Entonces, por ejemplo, una vez que adivinan un nombre de usuario, ahora pueden concentrarse en adivinar la contraseña. En lugar de 2 incógnitas, lo has reducido a solo 1 desconocido.

Además, para un sitio donde el nombre de usuario es su correo electrónico, puede determinar si las personas tienen una cuenta allí. Si voy a un sitio e inserto su dirección de correo electrónico y dice "El nombre de usuario es incorrecto", entonces no tiene una cuenta. Si dice "La contraseña es incorrecta", entonces sé que tiene una cuenta allí. Ahora imagine que el sitio es algún tipo de sitio de pornografía y puede comenzar a ver por qué este podría ser un mal enfoque en términos de lo que le está revelando a un atacante.

    
respondido por el Scott Helme 03.11.2013 - 16:52
fuente
0

Al indicar que el nombre de usuario es válido, se habilita enumeración de usuarios , lo que le permite a un atacante hacer una lista de cuentas de usuario válidas. Para los servicios web en los que los nombres de usuario son direcciones de correo electrónico o se pueden asociar con direcciones de correo electrónico, esto podría llevar a una campaña de "phishing" a la que los destinatarios envían enlaces maliciosos a un sitio del que realmente tienen una cuenta. Los nombres de usuario también se pueden usar para otros servicios como correo electrónico, intercambio de archivos o acceso de shell, proporcionando incluso más vectores para la explotación. O si los nombres de usuario están vinculados a nombres reales, el atacante podría usar dicha información en un ataque de ingeniería social.

Obviamente, es preferible obligar a un atacante a adivinar los nombres de usuario y las contraseñas.

    
respondido por el ash 03.11.2013 - 18:34
fuente

Lea otras preguntas en las etiquetas