До недавнего времени можно было взломать почти любой аккаунт в Инстаграм за 10 минут.
Уязвимость существовала в функции восстановления пароля, а именно в процессе проверки 6-ти значного кода, который приходил по смс при запросе сброса старого пароля.
Как это работало?
При сбросе пароля, приходит 6-ти значный код по смс, он живет 10 минут и состоит только из цифр.
Но что делать, если у нас нет телефона, куда приходят смс с кодом?
Попробуем подобрать код сами? Если код состоит из 6 цифр, значит всего будет 1 млн комбинаций — одна из них окажется верной.
Начинаем подбирать и сталкиваемся с ограничением в 200 попыток ввода неверного кода. Пробуем поменять IP-адрес и обнаруживаем, что Инстаграм разрешает ввести еще 200 комбинаций с кодом.
В смене IP-адреса и была уязвимость. Получилось, что можно одновременно использовать 5000 разных IP-адресов, которые введут в течение 10 минут по 200 комбинаций, что означает 1 млн вариантов кода, среди которых и будет один верный.
У хакера, который нашел эту уязвимость, получилось успешно её воспроизвести, на аренду IP-адресов он потратил всего около 150 долларов.
Об уязвимости он сообщил в Инстаграм и получил вознаграждение в размере 30 тысяч долларов. Уязвимость закрыли!
Как защититься?
Включите двухфакторную авторизацию. Как включить, мы писали
здесь и
здесь!