Как я могу обойти функцию 2FA Kahoot? - PullRequest
0 голосов
/ 06 мая 2019

Итак, я использую Kahoot.js-updated npm пакет с использованием Kahoot API.Все работает нормально, но я заметил, что Kahoot добавил функцию 2-факторной аутентификации (2FA), которая добавляет дополнительный шаг к присоединению к тесту, помимо простого ввода PIN-кода теста.Поэтому я провел небольшое исследование и обнаружил, что функция 2FA в Kahoot содержит уязвимость в коде.Поэтому я проанализировал исходный код для функции 2FA, но не смог полностью понять код и / или найти уязвимость.Так что мой вопрос прост: как мне обойти новую функцию 2FA в Kahoot?В идеале я надеюсь, что решением будет какой-то код.Но я открыт для любого варианта.

1 Ответ

0 голосов
/ 06 мая 2019

НЕ обходите функции безопасности. Помимо морального аспекта - любые ошибки безопасности, которые кто-либо эксплуатирует, вероятно, будут в конечном итоге исправлены. Если вы считаете, что новые функции контрпродуктивны, сообщите об этом команде Kahoot, и они, возможно, захотят что-то исправить.

Тем не менее пакет не требует двухфакторной аутентификации. Как базовый пример использования (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").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...