我们正在为我们的系统开发一个新的登录屏幕,我们有几百万用户,我们正在考虑向用户透露什么。
我们目前:
我们正在考虑让用户知道电子邮件是否不存在,因为“谷歌和微软也是这样做的”。我们已经在注册页面上泄露用户数据,那么为什么不帮助登录屏幕上的用户呢?
感觉答案是模棱两可的,这条旧线基本上说谷歌这么做是因为每个人都有谷歌。如何处理它,有几百万用户?
发布于 2023-02-17 15:45:20
我在一家拥有近10万客户的中型金融公司工作,我们很久以前就决定试图掩盖这样一个事实:我们的数据库中已经有一封电子邮件,这是徒劳的,适得其反。就像你说的,注册页面上写着一切。让您的UI中的不同部分表现得好像不是这样是没有意义的。
作为最低限度,您可以添加一个CAPTCHA提示进行注册和登录,这样黑客就不能自动枚举所有用户。这是当今最严肃的公司所做的事情。
发布于 2023-02-17 21:05:34
通常,你给攻击者的信息越少,越好。有一个通用的“用户名或密码不正确”给出了最少的信息量,同时仍然通知用户某些地方是错误的,他可以找出哪一个。
将此与速率限制相结合可以减少攻击者在被节流之前尝试的用户名数量(或者仅仅收到“用户名或密码不正确”,而您的系统甚至没有查看密码)。如果他们目前没有一个用户列表,他们将不得不在您的网站上的注册页面构建它,这需要更多的时间,而不仅仅是尝试登录和被告知电子邮件没有注册。将注册页面与验证码配对,就会使他们的工作更加困难。
这样做并不是为了防弹,而是为了增加攻击者的成本。使用通用消息、速率限制和CAPTCHA会在途中产生三个速度障碍,并且可能会阻止一些攻击者开始攻击您的服务器。这肯定不会阻止攻击者专门入侵您的服务器,但会使他的生活更加艰难。
https://security.stackexchange.com/questions/268520
复制相似问题