【问题标题】:Bypass Google Two Factor authentication绕过谷歌两因素身份验证
【发布时间】:2013-04-22 04:18:30
【问题描述】:

我在我的网站中使用 Google 双重身份验证,但我希望能够检查“记住我”的用户,不需要在下一个条目时输入密钥。是否可以通过“记住我”选项绕过身份验证。我知道潜在的危险,但我们需要这样做。

【问题讨论】:

    标签: authentication


    【解决方案1】:

    不知道这是否仍然有帮助,但我想我还是会回答的。您尚未指定您使用的编程语言,这使得给您一个特定于语言的答案有点困难,因此我将根据我编写C# ASP.NET MVC Two Factor Authentication 实现的经验来回答,但方法应该与语言无关。

    没有什么可以阻止您实施“记住我”功能,该功能允许用户绕过整个身份验证步骤(用户名/密码 + TFA)。实际上,假设双因素身份验证已正确实​​施,您将实施的任何其他“记住我”功能并没有什么不同。

    通过正确实施两因素身份验证,我的意思是您的登录应该是一个两步过程(您可以一次性完成,但会降低可用性,为了解释起见,我将它们分开)

    1. 用户指定他们的用户名和密码。如果他们提供了有效的用户名/密码组合,那么他们将被传递到第二步,但他们尚未经过身份验证!他们应该无法导航到需要用户登录的任何页面。
    2. 用户指定他们的第二个因素。只有当用户提供正确的第二个因素时,他们才能通过身份验证并允许继续。

    在我的代码中,我在第一步中有“记住我”复选框,然后如果用户提供了有效的用户名/密码组合,我将存储 UserProfile 对象以及是否在会话中选中了“记住我”并重定向用户到第二个因素页面。

    然后,如果用户为存储在会话中的用户提供了正确的第二个因素,那么您将用户登录,如果他们选中“记住我”,则向 cookie 添加过期日期,否则将其留空当浏览器关闭时,过期日期将过期。

    希望这能回答您的问题,我已尽量不在此处复制我网站上的整篇文章,因此,如果您认为我遗漏了什么,请随时查看,如果您仍然没有答案,请告诉我知道,我会更新我的答案。

    【讨论】:

      猜你喜欢
      • 2018-07-23
      • 1970-01-01
      • 2019-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 2012-11-03
      • 2016-06-06
      相关资源
      最近更新 更多