当用户输入错误的密码时,哪个错误消息更好?

lui*_*uin 10 security passwords login

当用户输入错误密码时,从安全角度来看,以下两条错误消息之间是否存在任何差异?

错误的用户名或密码.

密码错误.

例如,当您在Gmail.com上输入错误的密码时,它会告诉您"您输入的用户名或密码不正确".出于安全考虑,有任何考虑因素吗?我认为错误消息:"您输入的密码不正确"对用户来说更清楚了,而且,更方便的是,检查Gmail.com上是否存在用户名非常容易:只需点击"无法访问您的帐户?" 并输入用户名.如果用户名不存在,它会告诉你.

Mik*_* C. 17

这个想法是不给黑客额外的信息.如果您说错密码,您已经告诉黑客他们有正确的用户名,反之亦然.虽然您所说的是真的,但在某些网站上,您可以通过其他方式确定是否猜到了用户名.


小智 9

最简单和最常用的短语是:

"您输入的用户名或密码无效"

这背后的原因是为了防止有人试图通过"猜测"密码来破坏您的帐户.如果攻击者收到错误,详细说明密码不正确,那么他们可以尝试使用不同的密码,直到正确为止.

但是,如果您提供上述通用消息,则攻击者不知道用户,密码或两者的组合是否正确.

法比奥@fcerullo


小智 5

只是添加一些额外的信息。OWASP 指南为您提供有关此问题的建议

https://owasp.org/www-project-cheat-sheets/cheatsheets/Authentication_Cheat_Sheet.html#Authentication_and_Error_Messages

无论用户 ID 或密码是否不正确,应用程序都应以通用错误消息进行响应。它也不应指示现有帐户的状态。


Sup*_*hin 5

好吧,从不同的角度来看,安全方面,这两条消息没有太大区别。至少对于允许注册的网站。黑客可以随时进入注册页面并尝试使用上述详细信息进行注册。当然,您的网站最初是由模糊性保护的,它会立即大喊“该用户名已被占用!” 或“该电子邮件已被注册!” 并且在那时看起来安全是一个神话。