No, este es un vulnerabilidad de enumeración de usuarios .
Como atacante si puedo usar su página de inicio de sesión u contraseña olvidada para limitar mi lista de 10000 objetivos a 1000 objetivos, lo haré.
La mejor implementación para resolver esto que he visto es que tanto los formularios de registro como los de contraseña olvidada son procesos de varios pasos (exactamente el mismo back-end / proceso después del formulario inicial).
El formulario comienza con un solo campo que solicita dirección de correo electrónico . El usuario ingresa [email protected]
y luego hace clic en enviar. Luego aparecen la misma página pidiéndoles que verifiquen su cuenta de correo electrónico.
Si el usuario ya está registrado, recibe un correo electrónico que contiene un enlace para restablecer la contraseña con un token aleatorio que caduca en unas pocas horas.
Si el usuario no está registrado, recibe un correo electrónico que contiene un enlace de registro con un token aleatorio para que puedan continuar con el proceso de registro. Como beneficio adicional, ¡ya ha validado su dirección de correo electrónico para cuando más tarde olviden su contraseña!
Nadie que no tenga acceso a la cuenta de correo electrónico [email protected]
puede determinar si el usuario está registrado o no.
Consulte el ejemplo en publicación del blog de Troy Hunt sobre restablecimientos de contraseña y la vulnerabilidad de enumeración del nombre de usuario en alotporn.com
para un buen ejemplo de lo importante que es cumplir con las expectativas de privacidad del usuario.