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



当用户输入错误密码时,从安全角度来看,以下两条错误消息之间有什么区别吗?

用户名或密码错误。

密码错误。

例如,当你在Gmail.com上输入错误的密码时,它会告诉你";您输入的用户名或密码不正确";。

是否出于安全考虑?我认为错误信息是:;您输入的密码不正确";用户更清楚,而且,检查Gmail.com上是否存在用户名非常容易:只需单击"即可;无法访问您的帐户"并输入用户名。如果用户名不存在,它会告诉你。

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

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

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

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

但是,如果您提供了像上面这样的通用消息,攻击者就不知道用户、密码或两者的组合是否正确。

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

https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html#authentication-和错误消息

不管怎样,应用程序都应该以通用错误消息进行响应确定用户ID或密码是否不正确。它还应该没有对现有帐户的状态的指示。

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

在某些情况下,您不希望攻击者能够猜测帐户的存在。因此,您将始终返回一般错误消息,这样攻击者就无法猜测此帐户是否存在。

在GMAIL的背景下,GMAIL可能不希望人们挖掘现有的电子邮件地址,让垃圾邮件机器人使用。

您自己可以决定是否需要在应用程序中强制执行安全性,或者是否可以提供更用户友好的错误消息。

相关内容

  • 没有找到相关文章

最新更新