Независимый индийский исследователь Лаксман Мутиях заработал 30 тыс. долларов, обнаружив в Instagram уязвимость, связанную с восстановлением паролей в мобильной версии сервиса.
Во время процедуры сброса пароля пользователи должны получить и подтвердить секретный шестизначный секретный код (срок действия 10 минут). Этот код приходит на соответствующий номер мобильного телефона или адрес электронной почты. Частота попыток ввода этих кодов ограничена, и тем самым Instagram защищает своих пользователей от брутфорса.
Но Мутиях обнаружил, что защитные ограничения сервиса можно обойти, посылая запросы с разных IP-адресов и провоцируя возникновение состояния гонки (отправляя параллельные запросы для одновременной обработки нескольких попыток ввода).
В своём опыте специалист без труда перебирает 200 тыс. различных комбинаций кодов (примерно 20% от общего числа) и не вызывает подозрений у Instagram, избегая блокировки.
«Злоумышленнику потребуется 5000 IP-адресов для взлома учетной записи. Звучит серьезно, но на самом деле это нетрудно, если воспользоваться услугами провайдеров облачных услуг, таких как Amazon или Google. Для одной атаки потребуется около 150 долларов, и этого хватит на перебор миллиона кодов», — пишет Мутиях.
Разработчики Instagram уже исправили найденный экспертом баг. Данная уязвимость принесла специалисту 30 тыс. долларов по программе bug bounty. И это не первый случай, когда индийский исследователь находит серьезные багги – в 2015 году он обнаружил проблему, позволяющую взламывать страницы групп в Facebook.