Более года достаточно было нажать на злонамеренно созданную ссылку в Twitter, и ваш аккаунт мог быть захвачен и использован для отправки твитов, ретвитов, лайков или блокировки других пользователей. Уязвимость была обнародована в среду, что привело к быстрому устранению и наказанию пользователя, который ее раскрыл.
Вместо того чтобы получить денежное вознаграждение в рамках программы Twitter bug bounty, компания запретила пользователю участвовать в ней.
Я отправил это сообщение об ошибке, но не получил вознаграждение. Вы сказали мне, что эта ошибка существует уже год. Видя, что вы не исправили ее так долго, кажется, что эта ошибка не важна, поэтому я сделал ее публичной. pic.twitter.com/R9X4k8KqMZ
— rabbit (@rabbit_2333) December 12, 2023
Разоблачение было сделано псевдонимным пользователем Twitter @rabbit_2333, который рассказал, как XSS-уязвимость на аналитическом поддомене Twitter могла быть использована, чтобы дать злоумышленнику доступ к профилю третьего лица и возможность делать практически все, кроме изменения пароля учетной записи.
Для взлома использовались межсайтовый скриптинг (XSS) и подделка межсайтовых запросов (CSRF). XSS-атаки позволяют злоумышленникам внедрять вредоносные скрипты на веб-страницы, а CSRF обманывает пользователей, заставляя их выполнять действия в веб-приложении, где они уже прошли аутентификацию.
Ошибка Twitter использовала оба этих метода, что делает ее особенно опасной. Используя XSS, злоумышленники могли обойти меры веб-безопасности и получить несанкционированный доступ к учетным записям пользователей.
Когда новость об этой уязвимости распространилась, Чаофан Шоу, соучредитель платформы для анализа смарт-контрактов Fuzz.Land, вмешался, чтобы предоставить более подробную информацию. Он рассказал, как легко создать мощный инструмент эксплойта на основе этой неустраненной уязвимости, и подробно объяснил, как работает ошибка и какой потенциальный ущерб она может нанести.
Вот полное раскрытие уязвимости Twitter XSS + CSRF.
Нажатие на поддельную ссылку или переход на поддельные веб-страницы позволит злоумышленникам завладеть вашим аккаунтом (опубликовать, поставить лайк, обновить профиль, удалить аккаунт и т. д.) pic.twitter.com/MVJ1MvHt6H
— Chaofan Shou (@shoucccc) December 13, 2023
За статьей Шоу последовали комментарии исследователя кибербезопасности Сэма Суна, который дал практические советы о том, как избежать эксплойта, подчеркнув отсутствие безопасности даже для тех, кто пользуется Twitter на своих телефонах через браузеры.
Сан отметил, что веб-браузер Brave, ориентированный на конфиденциальность, не позволил бы использовать эксплойт.
Команда X быстро отреагировала на обнародованную информацию. В течение нескольких часов они исправили уязвимость, что было подтверждено Sun. Однако, несмотря на потенциальную серьезность дефекта, @rabbit_2333 не был вознагражден за свое открытие. Вместо этого его уведомили о том, что он исключен из программы bug bounty.
«Спасибо Twitter», — написал пользователь, приложив скриншоты уведомления о бане от Twitter.
В комментариях о том, стоило ли @rabbit_2333 писать об ошибке или нет, пользователь утверждает, что сначала он следовал надлежащему протоколу. По словам пользователя, только после того, как Икс решил, что баг серьезный и за него можно получить вознаграждение, они опубликовали его.
Я отправил это сообщение об ошибке и не получил вознаграждение. Вы сказали мне, что эта ошибка существует уже год. Видя, что вы не исправили ее так долго, кажется, что эта ошибка не важна, поэтому я сделал ее публичной. pic.twitter.com/R9X4k8KqMZ
— rabbit (@rabbit_2333) December 12, 2023
Цель программ «bug bounty» — предотвратить инциденты, подобные этому, стимулируя разработчиков к обнаружению дыр в системе безопасности вознаграждением и соглашением не раскрывать их, пока компания исправляет ситуацию.
Программы «баг баунти» широко распространены в разработке программного обеспечения, а также в криптовалюте, особенно при работе со смарт-контрактами. Хотя реализация таких программ может быть сложной, предотвращение нарушения безопасности обычно считается стоящим усилий.
Программы поощрения «белых хат» и «баг-баунти» обычно требуют сохранения конфиденциальности информации об уязвимостях. Но они также часто имеют сроки действия, чтобы разработчик программного обеспечения действовал своевременно.