Исследователь 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 подтвердил публикацию деталей уязвимости в открытом доступе.
Комментарии (29)
serg_deep
06.04.2018 19:19+6Боже) он мог на несколько порядков порядков больше заработать эксплуатируя её. Эх…
Chingul
06.04.2018 20:49+1Мда… Парень наверно офигел увидев чек с такой мизерной суммой. Интересно, а как рассчитывается сумма вознаграждения?
zviad
07.04.2018 01:08Обычно, есть либо фиксированные цены и условия, либо ты каждый раз договариваешься о выплате, в прямом смысле торгуешься. Доказал что уязвимость критическая, заплатят больше.
StjarnornasFred
06.04.2018 22:04+2Как говорится, его пример — другим наука. Изображать из себя «честного добропорядочного хакера» перед Google — означает оказаться в дураках. И это, стоит заметить, не первый случай. Впредь, надеюсь, ни один хакер не позволит сказать о себе «умная голова дураку досталась».
vics001
07.04.2018 01:18Есть еще и мораль как бы, одно дело, если бы он хотел сам воспользоваться, а другое, если бы он пытался на этом заработать.
StjarnornasFred
07.04.2018 04:30Если известно (а это давно известно), что на найденные уязвимости эта компания реагирует вот так — ну что ж, тогда действуем по принципу «кого поймал, из того и шапка». Вот и вся мораль. Как было показано в статье и как неоднократно замечалось раньше, «сделать шапку» из найденной уязвимости было рациональнее, чем пытаться её «честно» продать барину в лице Google.
vics001
07.04.2018 16:09Мораль вещь субъективная, так что кто как воспитан, тот так и действует. Если компания так реагирует, это может быть поводом не сообщать, но это не может быть поводом использовать или продавать.
Zoolander
07.04.2018 03:45По сути — это очень критическая уязвимость. Тонны траффика, деньги и репутация.
Человечеству повезло, что этот человек слил уязвимость в Google.
И какой же позор для одной из самых богатых корпораций, способной нанимать лучших инженеров, что такую уязвимость они не закрывали так долго.easyman
07.04.2018 08:36Я полагаю, что использование такого достаточно быстро отследили бы и оперативно закрыли.
Возможно, есть заметное влияние на рейтинг сайтов, которые используются для продвижения.flancer
07.04.2018 09:41Согласен. Даже есть подозрение, что если бы человек слил уязвимость на сторону и ее начали бы эксплуатировать, то эту уязвимость законопатили бы значительно быстрее. Особенно, если тоннами начали сливаться деньги.
novikovag
07.04.2018 10:09-1Меня эта гугля с их анальнозондированными поделками и окукливанием в поисковый пузырь, окончательно достала. Хочу перекатываться, только вот пока не нашел нормальной синхронизации закладок и паролей между устройствами.
RigidStyle
07.04.2018 11:16При таком вознаграждении (учитывая еще сколько его пришлось ждать) гораздо профитнее было бы заниматься арбитражем трафика, используя найденную уязвимость =) Гугл — корпорация зла.
timursergeevich
07.04.2018 11:25А наши компании могут вооще игнорировать.
Недавно нашёл багу в МТС. Сообщил о ней. Исправили и даже не ответили..parmactep
07.04.2018 18:21Раз не ответили — имеете полное моральное право рассказать общественности о процессе поиска и о самой уязвимости. Думаю многим интересно.
Scf
07.04.2018 11:33По правде говоря, это уязвимость не только гугла, но и атакованных сайтов. Классика жанра же — нельзя разрешать редиректы на левые сайты.
https://www.owasp.org/index.php/Unvalidated_Redirects_and_Forwards_Cheat_Sheet
LukaSafonov Автор
07.04.2018 11:36Найти опенредирект и добавить эти сайты гораздо проще, чем найти такой баг у Google.
demimurych
07.04.2018 14:06+2Позвольте обратить внимание на некоторые детали которые могут дать повод задуматься о том насколько это серьезная уязвимость.
1. Эксплуатация ее возможна только при условии наличии на сайте жертвы уязвимости позволяющей либо создавать на домене жертвы свой файл sitemap или существования возможности создания ссылок которые без подтверждения производят редирект туда куда атакующему нужно.
2. Манипуляция с hreflang накладывает ограничение на трафик — в общем случае он будет только для определенной страны/языка
Люди, которые работают на площадках с серьезным трафиком постоянно этот трафик мониторят. Потому что это их деньги. И резкое снижение трафика сразу же заметно. То есть при первом же использовании уязвимости на ком либо серьезном это будет тут же обнаружено.
В результате чего все последствия(относительно рейтингов и трафика) будут в течении нескольких часов аннулированы. И потери будут исчисляться только деньгами которые могла потерять одна контора на время потери этого трафика.
Игого: возможно только одноразовое использование, с целью насолить какой либо серьезной площадке (на несколько часов забрать часть ее трафика) или двум (если вторая позволит создать у себя на домене sitemap и перевести трафик на нее, что вероятно приведет к некоторым трудностям при разбирательстве) при условии наличия у нее уязвимости.
Так что мне все это видится чрезвычайно интересным, но при этом я бы не рискнул настаивать на том, что есть сценарии при которых можно было бы получить с этого какую то большую выгоду. За исключением очень специфической ситуации с желанием испортить нервы какой то одной конкретной жертве. Ни о какой массовой эксплуатации и слива трафика речи не идет в принципе. Все слишком заметно.serg_deep
07.04.2018 16:04+3Одноразовое?) Я вас умоляю, любую схему всегда ставят на поток. Если бы человек и эксплуатировал дыру, то явно предварительно создава штук 10 а то и все 100 прослоек куда бы сливал трафик. А мог бы выобще продать дыру в несколько рук. Да же в рунете он бы заработал больше.
zviad
Я просто оставлю это здесь…
Andrusha
В статье акцент на размере выплаты, за уязвимость такого уровня можно было и побольше заплатить, например $31337.
NewStahl
В следующий раз наука будет — нефиг сообщать об уязвимостях уязвимым: это либо гроши либо вообще риск на судебный иск нарваться.
zviad
Я не согласен с тем что Google за уязвимости платит гроши или риск нарваться на судебный риск. Вы можете привести пример того как кто-то находил уязвимость и после того сообщал о ней Google получал судебный иск? Конечно, вы можете минусовать просто так, а можно посмотреть на количество открытых баг баунти программ или на размер публичных выплат по этим программам в прошлом году (сслыка 1 и ссылка 2). Google даже за чужие баги теперь платит, поверх того что заплатит сам разработчик.
zviad
Я не пытаюсь кого-то оправдать, но мне интересно почему автор не пишет в статье пытался ли он торговаться и доказать что уязвимость серьезная, что как вы знаете является нормальной практикой в таких ситуациях. Что было в его переписке никто кроме него самого и инженеров гугла не знает. Мог бы и выложить небольшую часть переписки, кстати говоря.
zviad
Но не похоже что бы он был сильно возмущен, в отличие от комментаторов на разных ресурсах. Для тех кто не читал оригинал статьи, слова автора: "Google have awarded a $1,337 bounty for this, and the Google team were a pleasure to deal with, as always. Thanks to them."
Tanner
Мне кажется, вы упустили из виду, что автор — британец.
easyman
А как британцы выражают возмущение и праведный гнев?
achekalin
В баре поют "Боже, храни королеву"?