如何防止在表单中发现电子邮件?

信息安全 电子邮件 披露
2021-08-28 15:24:53

在公司安全电子邮件列表中,我经常收到电子邮件,抱怨在我的雇主网站上以各种形式发现电子邮件。记者们抱怨我们的登录表单返回了“您的密码不正确”之类的特定消息。而不是“提供的电子邮件/密码不正确”。这让可能的攻击者知道某个电子邮件地址正在用于某个帐户。

我了解这里的问题,并且很容易更改登录或帐户恢复表单的消息。但是,我可以对注册表单做些什么。对于任何给定的电子邮件地址,我们只需要一个帐户。我查看了其他一些流行的在线服务,他们的注册表单特别告诉您该电子邮件地址正在使用中。

没有办法解决这个问题吗?如果是这种情况,我真的应该注意那些抱怨登录表单上发现电子邮件的人吗?

2个回答

这可以通过实现带外消息来解决。

为了解决这个问题,我将有一个可以用于两个目的的表单:

  1. 帐户恢复。
  2. 新用户注册。

此表单上的单个字段是Email address. 当然,您可以根据用户是想恢复他们的帐户还是注册来使用不同的文本,但它的工作方式是相同的。

一旦用户输入了他们的电子邮件地址并单击Next,输入的任何地址都会显示相同的响应。类似的东西Thank you, please check your email account for the provided address

发送到他们的电子邮件地址的“带外”消息Please follow the link to recover your accountPlease follow the link to sign up to our service包含相应的链接,其中将包含一个限时令牌,以允许用户在必要时恢复其帐户或注册。确定此消息文本的唯一因素是系统中是否存在与其电子邮件地址对应的帐户,用户是否遵循帐户恢复或新用户注册链接无关紧要。因为他们应该是唯一可以阅读他们的电子邮件的用户,所以这应该防止用户名枚举该令牌将与提供的电子邮件相关联,这将阻止用户尝试使用不同的地址注册,或重置任何其他帐户的密码。这也具有验证电子邮件帐户以进行新注册的效果。

我认为在这种情况下防止电子邮件枚举的最佳选择是在您的注册表单上添加验证码。为了使电子邮件枚举攻击起作用,攻击者必须自动提交大量电子邮件以查看哪些电子邮件具有帐户。

通过添加验证码,您很难有效地自动化此类攻击,并且您仍然可以在注册期间提供信息性消息。