我最近尝试登录Facebook,并拼写了我的电子邮件。他们通过以下消息提示我。
以{username}登录
{email}@gmail.com·不是您?
请确认密码好像您输入了您的电子邮件或用户名的轻微拼写错误
。我们已为您纠正了该错误,但请
重新输入密码以增强安全性。
我知道用户名并不是真正的秘密,但是当一个网站将拼写错误修正为正确的拼写,他们似乎把“不是秘密”弄得太远了。
#1 楼
如您所说,您在Facebook上看到了此内容-因此我尝试了以下步骤:使用lukas@gmail.com和真实密码登录->可以使用
使用lukas @ gmail登录.cmo和真实密码->也可以(!)
使用luksa@gmail.com和真实密码登录->也可以使用
使用luksa@mail.com和真实密码登录>也可以使用
使用lukas@gmail.cmo和错误的密码登录->输入错误的密码,但电子邮件会自动更正为正确的电子邮件
在私有选项卡中(或使用已清除缓存的浏览器& Cookies)->“您输入的电子邮件与任何帐户都不匹配”
由于仅当我已经在此PC上成功登录FB时,该校正才有效,不是Facebook中的漏洞。
编辑:添加了新的测试用例;感谢Zymus,simbabque和Micheal Johnson的建议
评论
评论不作进一步讨论;此对话已移至聊天。
–Rory Alsop♦
16年5月13日在10:32
存档聊天的共识是,这是基于登录cookie的客户端更正。 Facebook没有运行服务器端检测算法。
– Liilienthal
16年5月13日在12:12
#2 楼
对于大多数网站而言,允许用户名或电子邮件迭代可能是一个安全问题,但对于Facebook而言则不是。对于像Facebook这样的大型网站,查找具有帐户的电子邮件很容易,因为这些网站拥有大量用户。这适用于其他庞大的用户数据库,例如Google和Microsoft。这些公司只是要面对用户名/电子邮件数据库(一定是众所周知的)的安全性。话虽如此,如果这是您第一次使用Facebook,我会感到惊讶使用相同的浏览器,计算机甚至IP地址。对于他们来说,填写用户名完全没有意义,因为任何看似电子邮件的字符串都可能接近一个或多个用户。我怀疑Facebook有某种了解您的方式。
评论
根据卢卡斯的回答,您在第二段中的假设似乎是正确的。
– TTT
16年5月10日在14:21
我不确定我是否遵循你的第一段。为什么拥有大量用户会减少“电子邮件迭代”的安全性问题?他们用来确定是否应进行电子邮件迭代的方法(例如,您以前是否使用此浏览器或计算机登录过),也可以由较小的站点来完成,不是吗?如果是这样,它是否同样安全?
– TTT
16年5月10日在14:27
@TTT-并不是说电子邮件迭代不再是问题,只是防止电子邮件迭代基本上是不可能的。对于Facebook,任何个人电子邮件列表都是相当不错的Facebook电子邮件地址列表。尽管迭代仍然是一个问题,但它们并不是真正可以防止的事情。因此,在权衡用户友好选项与安全性以防止电子邮件迭代时,Facebook做出了不同的决定,因为它们已经失去了电子邮件迭代之战。
–尼尔·史密斯汀(Neil Smithline)
16年5月10日在14:31
#3 楼
根据您在此处提供的详细信息,我会说“是的,那是安全隐患”,因为它100%标识了谁在网站上注册。我不知道在放置一个块(CAPTCHA,IP块等)之前,请求可以提交多少次,但是攻击者可以简单地“蛮力”使用一组用户名和电子邮件来获得一个相当清晰的列表。谁在使用该网站。照原样,系统不会告诉您输入错误的内容,而脚本可以通过比较前和后的情况很快地告诉您。
更糟的是,有了用户名和电子邮件的列表,这些是因为其他站点的目标列表是因为(我希望)人们倾向于重用用户名(例如电子邮件地址)。
看起来很可疑,恕我直言。
惊讶...会认为FB会比这更好。
评论
这是Facebook,您也可以检查facebook.com/
– Tokk
16年5月10日在13:53
我想我看到了些微的差异,因为它提供了用户名与特定电子邮件的关联。此外,FB正在更正用户名(和电子邮件),而失败的URL只是失败的URL。
– jms
16年5月10日在13:58
根据其他答案,更正似乎是基于本地存储的cookie
– schroeder♦
16年5月10日在14:36
评论
仅在不公开创建帐户的服务(例如,在Intranet登录的情况下)上,才允许在登录功能中检查现有的用户名。当用户可以注册时,他们可以使用注册功能检查用户名的可用性。话虽如此,限制登录尝试仍然是一个好主意,但这是另一回事了。@Jacco:并非总是如此,这取决于实现注册功能的方式。请参阅此处以获取安全的解决方案,该解决方案不会使您的网站容易受到用户枚举的攻击。但是,您是正确的。可以合理地确定用户拥有帐户的公共站点和非常受欢迎的站点,用户枚举并不是真正的问题。
@SilverlightFox,有趣的中间解决方案。我认为可用性的含义并不适合大多数公共网站,但是对于某些公共网站来说,它可能是一个选择。
相关的Facebook密码小写和大写
实际上,我更担心的是,它比您使用任意用户名时更容易检查您的电子邮件地址。电子邮件地址是个人身份信息:它不仅告诉您帐户“ catsAndDogs42”已经存在;它告诉您该特定电子邮件地址的所有者在网站上拥有一个帐户。如果该网站不如Facebook那么精美(并且无处不在),那么我不希望我公开拥有我的帐户,尤其是像firstname.lastname@example.com这样的电子邮件。