Comments 4
Приложение Box не проверяло, выбирал ли пострадавший пользователь аутентификацию через TOTP и принадлежало ли используемое приложение-аутентификатор пользователю
Я правильно понял, что можно ввести любые 6 цифр?
и код из своей учетной записи Box
Или нужно иметь "свой" аккаунт с 2х факторной авторизацией? Как они тогда вообще сопастовляют что это валидный код, если не могут определить юзера?
Или нужно иметь "свой" аккаунт с 2х факторной авторизацией?
Да, нужен второй аккаунт. Видимо код сопоставляют с подставным аккаунтом, но после успешной проверки кода из куки достается ид сесссии, и уже из сессии Ид юзера угоняемого аккаунта.
Тогда я вообще запутался, user1 (злоумышленник) крадёт логин/почту user2.
Злоумышленнику достаточно будет ввести адрес электронной почты и пароль пользователя (например, украденные в результате утечки паролей или фишинговой атаки)
user1 не вводит свои данные, а только данные user2.
Теперь, как user2 я обхожу авторизацию и ввожу "свой" код от user1... Как тут они вообще поняли что этот код от user1?
Или они принимали рандомные 6 цифр и вообще не проверяли никак, или (ещё лучше) у всех юзеров один хэш для генерации кодов и, соотвественно коды user1 и user2 просто совпадут...
Хацкер логинится с под учеткой user2, получает куку с сессией, но получение СМС-кода не жмет.
Хацкер логинится под user1, заменяет куку сессии на куку user2 из шага 1, выбирает вторым фактором TOTP. TOTP работает нормально - проверяет что введенный код от аккаунта user1, но после успешной проверки вычитывается сессия из подмененнной куки, где написано что это user2 и логинит в соотв. учетку.
Разоблачение методов многофакторной аутентификации в Box (Часть 2)