CORS Missconfiguration на сайте Google.

CORS Missconfiguration на сайте Google.

Moody

Это история о неправильной настройке CORS, которую я обнаружил в одном из приобретений компании Google - Kaggle, на странице с ошибкой 404.

Kaggle — система организации конкурсов по исследованию данных, а также социальная сеть специалистов по обработке данных и машинному обучению.

Стоит начать с того, что история не будет рассказана в духе "пользуясь прекрасным сервисом, я вдруг случайно нашел в нем ошибку" - нет, я целенаправленно зашел на этот сайт и начал искать в нем баги. Сначала я искал CSRF, перелистывая страницу за страницей, но все шло понапрасну. Далее я переключился на CORS misconfiguration и также не нашел ничего полезного. Но случайно попав на страницу с ошибкой 404 и просмотрев ее исходный код, я обнаружил тег Javascript-сценария, тело которого содержало AntiForgery-токен - тот самый токен, который отправляется как X-XSRF-TOKEN в каждом запросе на чувствительных эндпоинтах.

Я изменил заголовок Origin со страницы с ошибкой 404 на mydomain.tld, затем повторил запрос и получил ответ - заголовки Access-Control-Allow-Origin и Access-Control-Allow-Credentials указывали на mydomain.tld и True соответственно. Это означает, что любой другой сторонний домен может получить и просмотреть ответ от Kaggle.com. Происходит это из - за некорректной настройки CORS именно на этой странице!!!

Я быстро создал POC, состоявший из 2 частей:

  1. Получаем пользовательский Kaggle CSRF TOKEN со страницы 404.
  2. Используем полученный CSRF-токен для генерации API-ключа от имени пользователя.

После этого я сообщил Google VRP об этом инциденте, приложив данный POC, и мне тут же сообщили о награде. Сумма была меньше, чем если бы я нашел эту ошибку на оригинальных сайтах Google. Баги на сайтах компаний, приобретенных Google'ом, оцениваются дешевле.

Платформа Google VRP всегда очень дружелюбной и отлично подходит для таких исследователей, как я. Я рекомендую всем попробовать эту замечательную платформу.


Прочитать оригинал этого материала на английском можно здесь.

Cybred - канал об информационной безопасности и конкурентной разведке, вдохновленный идеями олдскульных андеграундных интернет-сообществ о свободе распространения информации в сети и всеобщей взаимопомощи.

Report Page