【问题标题】:How can I bypass Kahoot's 2FA feature?如何绕过 Kahoot 的 2FA 功能?
【发布时间】:2019-05-06 08:36:08
【问题描述】:

所以我一直在使用 Kahoot.js-updated npm 包和 Kahoot 的 API。一切正常,但我注意到 Kahoot 添加了一个 2 因素身份验证 (2FA) 功能,除了输入测验 PIN 之外,它还增加了一个额外的步骤来加入测验。所以我做了一些研究,发现 Kahoot 的 2FA 功能在代码中存在漏洞。所以我分析了 2FA 功能的源代码,但我无法完全理解代码和/或找到漏洞。所以我的问题很简单:如何绕过 Kahoot 的新 2FA 功能?理想情况下,我希望解决方案是一些代码。但我愿意接受任何选择。

【问题讨论】:

    标签: javascript node.js npm


    【解决方案1】:

    不要绕过安全功能。除了道德方面——一个漏洞利用的任何安全漏洞最终都可能被修补。如果您认为新功能会适得其反,请向 Kahoot 团队发送消息,他们可能愿意解决问题。

    也就是说,该软件包似乎不需要 2 因素身份验证。基本用法示例 (https://github.com/theusaf/kahoot.js-updated/blob/master/examples/basicUsage.js) 和高级用法示例 (https://github.com/theusaf/kahoot.js-updated/blob/master/examples/advancedUsage.js) 都使用同一行代码加入测验:k.join(7877502 /* Or any other kahoot token */, "kahoot.js")。除了无效的房间令牌之外,这些示例仍然有效。

    根据文档,实际上只有两个函数与两步验证有关,这两个函数都没有很好地记录,也没有出现在任何示例中。从文档中截取:

    answer2Step(steps)
    Parameters:
    steps (array) - An array of the steps for the 2 step authentification. (numbers 0-3)
    Returns: Promise
    
    on('2Step') - Emitted when the 2 step authentification is sent to the client / refeshed
    

    所以,要回答您的问题,请使用:k.join(7877502 /* Or any other kahoot token */, "kahoot.js")

    【讨论】:

    • 非常感谢!我很珍惜时间。对不起我绕过 2FA 的愚蠢意图。感谢您的帮助!
    • 所以它起作用了,但我不得不暴力破解所有可能性(24),这是低效的。因为 2FA 组合每 7 秒更改一次。那么有没有更简单的方法来回答 2FA?我做错了吗?
    • 你到底在暴力破解什么?您可以发布一些代码,以便我们了解您是如何使用 api 的吗?此外,与测验的连接不需要 2FA - 它可能适用于在登录帐户时尝试玩游戏的用户。这是您要构建的吗?
    猜你喜欢
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 2019-12-27
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多