在使用包含身份验证的 firebase 的网站上,我正在实现“忘记密码”功能。
返回状态为sendPasswordResetEmail()
如果用户提供的电子邮件没有与其关联的帐户,则为 400。如果电子邮件确实有帐户,则返回 200。
这意味着攻击者可以不断猜测电子邮件,直到得到 200。然后他们就知道有效的电子邮件。然后他们就可以开始猜测它的密码。
有没有办法得到sendPasswordResetEmail()
总是返回200?无论输入的电子邮件是好是坏,我希望唯一的回复是“检查您的电子邮件中是否有重置链接”。如果电子邮件无效,那么 firebase 应该悄悄地不发送电子邮件。
或者是否有其他机制可以提高安全性?
火力战士在这里
从客户端 SDK 到 Firebase 身份验证的 API 调用受到速率限制,以降低此类字典攻击的风险。我们还刚刚推出了新的配置选项,使您可以启用电子邮件枚举保护例如总是返回INVALID_LOGIN_CREDENTIALS
无论错误的类型如何。
如果您怀疑您的项目正在主动看到此类攻击,联系 Firebase 支持这样他们就可以根据需要进行调查和调整配额。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)