Исследователь Tom Anthony обнаружил сверхкритичную уязвимость в поисковом механизме Google, способную влиять на поисковую выдачу. Компания «исправляла» уязвимость полгода и выплатила за нее всего лишь $ 1337.
Краткая суть уязвимости в следующем: в рамках постоянных исследований автор недавно обнаружил проблему с Google, которая позволяет злоумышленнику отправить XML-карту сайта Google для сайта, для которого он не прошли аутентификацию. Поскольку эти файлы могут содержать директивы индексирования, такие как hreflang, это позволяет злоумышленнику использовать эти директивы, чтобы помочь их собственным сайтам ранжироваться в результатах поиска Google.
Google позволяет представить XML-карту сайта для помощи в обнаружении URL-адреса для обхода, но это также может быть использовано и для директивы hreflang, для того, чтобы определить другие международные версии одной и той же страницы (например, «эй, Google, это американская страница, но у меня есть страница на немецком языке этот URL… "). Неизвестно точно, как Google использует эти директивы (как и все, что связано с поисковыми алгоритмами Google), но похоже, что hreflang позволяет одному URL «заимствовать» ранжирование и траст ссылок одного URL-адреса и использовать его для ранжирования другого URL-адреса ( т.е. большинство людей ссылаются на американскую версию .com, и поэтому немецкая версия может «заимствовать» траст для ранжирования в Google.de).
Согласно документации представление XML-файла для Google может быть выполнено через Google Search Console, robots.txt или специализированный «ping» URL.
Вы можете добавить новые XML-файлы Sitemap через механизм ping, при этом Googlebot обычно извлекает файл в течение 10-15 секунд после пинга. Важно отметить, что Google также упоминает пару раз на странице, что если вы отправите файл Sitemap через механизм ping, он не появится внутри вашей Search Console.
Практическое применение уязвимости связано с использованием механизма переадресации, довольно распространенного в современных веб-приложениях. Злоумышленник, может использовать как прямую переадресацию в контексте разных доменов (если она разрешена):
либо механизмы обхода валидации, например с использованием структуры поддоменов, повторяющих URL атакуемого сайта (на примере ритейлера Tesco.com — который зарабатывает более 50 миллиардов фунтов стерлингов, при этом более 1 миллиарда фунтов стерлингов — через свой веб-сайт):
Сервис «ping» следовал полному пути переадресации и валидировал xml-файл для первого URL (но на самом деле расположенный на другом домене):
В результатет эксперимента исследователь получил трафик на «подложный» домен, без единого бэклинка в течении 48 часов:
Кроме этого, новый сайт стал появляться на первой странице выдачи Google по высококонкуретным запросам (опять же без единого бэклинка на новый сайт):
Более того, после этих манипуляций связь веб-сайтов начала прослеживаться и в Google Search Console:
Таймлайн:
- 23 сентября 2017 года — первоначальный отчет об ошибке.
- 25 сентября 2017 года — ответ Google — изучение ошибки.
- 2 октября 2017 года — отправка подробностей.
- 9 октября — 6 ноября — некоторые обновления статуса.
- 6 ноября 2017 года — Google продолжает исследовать проблему безопасности.
- 6 ноября 2017 года — корректировка автора, относящаяся к следованию за переадресациями для pinged sitemaps.
- 3 января 2018 года — обновление статуса.
- 15 января 2018 года — ответ Google от том, пока не будут выявлены все факторы, учитывая и легитимное использование — они просят подождать ответа.
- 15 февраля 2018 года — Google подверждает уязвимость.
- 6 марта 2018 года — Google сообщает о выплате вознаграждения в размере 1337 долларов.
- 6 марта 2018 года автор просит опубликовать детали уязвимости в открытом доступе.
- 12 марта 2018 года — Google просит подождать, т.к. исправление еще не выполнено.
- 25 марта 2018 года — Google подтвердил публикацию деталей уязвимости в открытом доступе.
Автор: Лука Сафонов