Миллионы сайтов уязвимы к XSS из-за корявой имплементации OAuth

Миллионы сайтов уязвимы к XSS из-за корявой имплементации OAuth

Миллионы сайтов уязвимы к XSS из-за корявой имплементации OAuth

Исследователи из Salt Labs обнародовали разбор нового вектора XSS-атаки (межсайтовый скриптинг), который в теории может угрожать миллионам сайтов по всему миру.

Стоит учитывать, что это не уязвимость в каком-либо продукте, поэтому её нельзя устранить централизованно. Корень проблемы кроется в сочетании веб-кода с популярным приложением OAuth.

Не так давно мы разбирали уязвимости протокола OAuth 2.0 и оценивали, опасно ли аутентифицироваться через профиль в социальных сетях. А в мае на Anti-Malware.ru рассказывали о том, как противостоять растущему числу атак с использованием OAuth-приложений.

В описанном Salt Labs векторе проблема не в самом OAuth, а скорее в его реализации на веб-сайтах. Если администратор ресурса недостаточно качественно имплементировал OAuth (что случается довольно часто), у злоумышленников открывается возможность провести XSS-атаку и получить контроль над аккаунтом.

В отчёте Salt Labs утверждается, что описанная проблема была обнаружена на сайтах таких крупных проектов, как Booking.com, Grammarly и OpenAI. Если администраторы этих ресурсов не смогли должным образом имплементировать OAuth, чего можно ждать от менее значимых веб-сайтов, спрашивают эксперты.

«Если мы продолжим прощупывать разные интернет-проекты, мы гарантированно найдём больше сайтов с этой проблемой. Я убеждён в этом», — пишет Янив Балмас из Salt Labs.

«Для эксплуатации этой бреши мы использовали JavaScript-код, который запускал поток OAuth-аутентификации в новом окне, а затем считывал токен из этого окна».

Google перенаправляет пользователя, но с «секретами» аккаунта в URL, а код JS считывает URL-адрес из новой вкладки и вытаскивает оттуда учётные данные.

Salt Labs создала специальный сканер, с помощью которого владельцы сайтов смогут узнать, уязвимы ли их проекты.

287 расширений для Chrome с 37 млн шпионили за пользователями

Исследователи безопасности обнаружили 287 расширений для Google Chrome, которые, по их данным, тайно отправляли данные о посещённых пользователями сайтах на сторонние серверы. Суммарно такие расширения были установлены около 37,4 млн раз, что равно примерно 1% мировой аудитории Chrome.

Команда специалистов подошла к проверке не по описаниям в магазине и не по списку разрешений, а по фактическому сетевому поведению.

Для этого исследователи запустили Chrome в контейнере Docker, пропустили весь трафик через MITM-прокси и начали открывать специально подготовленные URL-адреса разной длины. Идея была простой: если расширение «безобидное» — например, меняет тему или управляет вкладками — объём исходящего трафика не должен расти вместе с длиной посещаемого URL.

А вот если расширение передаёт третьей стороне полный адрес страницы или его фрагменты, объём трафика начинает увеличиваться пропорционально размеру URL. Это измеряли с помощью собственной метрики. При определённом коэффициенте расширение считалось однозначно «сливающим» данные, при более низком — отправлялось на дополнительную проверку.

 

Работа оказалась масштабной: на автоматическое сканирование ушло около 930 процессорных дней, в среднем по 10 минут на одно расширение. Подробный отчёт и результаты опубликованы в открытом репозитории на GitHub, хотя авторы намеренно не раскрыли все технические детали, чтобы не облегчать жизнь разработчикам сомнительных аддонов.

Среди получателей данных исследователи называют как крупные аналитические и брокерские экосистемы, так и менее известных игроков. В отчёте фигурируют, в частности, Similarweb, Big Star Labs (которую авторы связывают с Similarweb), Curly Doggo, Offidocs, а также ряд других компаний, включая китайские структуры и небольших брокеров.

Проблема не ограничивается абстрактной «телеметрией». В URL могут содержаться персональные данные, ссылки для сброса паролей, названия внутренних документов, административные пути и другие важные детали, которые могут быть использованы в целевых атаках.

 

Пользователям советуют пересмотреть список установленных расширений и удалить те, которыми они не пользуются или которые им незнакомы. Также стоит обращать внимание на разрешение «Читать и изменять данные на всех посещаемых сайтах» — именно оно открывает путь к перехвату URL.

RSS: Новости на портале Anti-Malware.ru