Илья Черепинец
Илья Черепинец
27 Март, 2018     92     0

Шифрование файла Sitemap Google XML auth — Black Hat SEO Bug Bounty


Укороченная версия:

Google предоставляет открытый URL-адрес, где вы можете Pingонуть XML-карту сайта, которую они будут анализировать — этот файл может содержать директивы индексирования. Я обнаружил, что для любого сайта с открытой переадресацией (например, LinkedIn, Facebook и 1000 сайтов электронной коммерции) можно выполнить ping файл в Sitemap, который вы размещаете таким образом, чтобы Google доверял карте зеркала как принадлежащий к сайту жертвы.

Я решил протестировать это (не ожидая, что это сработает так хорошо), используя директивы hreflang в файле Sitemap, чтобы почти сразу оказаться в лучших результатахв США, сделав файл sitemap похожим на принадлежащий крупному сайту электронной торговли Великобритании.

Google теперь исправил эту проблему и наградил маня за баг в размере 1337 долларов.

В рамках моих постоянных исследований я недавно обнаружил проблему с Google, которая позволяет злоумышленнику отправить XML-карту сайта Google для сайта, для которого они не прошли аутентификацию. Поскольку эти файлы могут содержать директивы индексирования, такие как hreflang, это позволяет злоумышленнику использовать эти директивы, чтобы помочь их собственным сайтам ранжироваться в результатах поиска Google.

Я потратил 12 долларов на проверку своего эксперимента и занимал первые места на ВЧ запросах в поиске, с недавно зарегистрированным доменом, у которого не было внешних ссылок.

Механизм XML Sitemap и Ping

Google позволяет отправить XML-карту сайта, дальше это помогает им обнаружить URL-адреса для обхода, но также могут быть использованы директивы hreflang, которые они используют, чтобы понять, какие другие международные версии одной и той же страницы могут существовать (например, «Привет, Google, это американская страница, но у меня есть страница на немецком языке этот URL … «). Неизвестно точно, как Google использует эти директивы (как и все, что связано с поисковыми алгоритмами Google), но похоже, что hreflang позволяет одному URL «заимствовать» вес и доверие ссылок на один URL-адрес и использовать его для ранжирования другого URL-адреса ( т.е. большинство людей ссылаются на американскую версию .com, и поэтому немецкая версия может получать часть веса, чтобы лучше ранжироваться в Google.de).

Вы можете отправлять XML-файлы Sitemap для своего домена либо через Google Search Console, внутри вашего файла robots.txt, либо через специальный URL-адрес в Search console. Собственные документы Google немного противоречат сами себе, в верхней части страницы они ссылаются на отправку файлов Sitemap через механизм ping, но в нижней части страницы они показывают следующее предупреждение:

Тем не менее, по моему опыту, вы можете добавить новые XML-файлы Sitemap через механизм ping, при этом Googlebot обычно считывает файл в течение 10-15 секунд после пинга. Важно отметить, что Google также упоминает пару раз на странице, что если вы отправите файл Sitemap через механизм ping, он не появится в вашей Search Console :

В качестве связанного теста я проверил, могу ли я добавить другие известные директивы поиска (noindex, rel-canonical) через XML-файлы Sitemap (а также попробовать кучу эксплойтов XML), но Google, похоже, их не использовал.

Информация с Google Search Console

Если вы попытаетесь отправить XML-карту сайта в GSC, которая включает URL-адреса другого домена, на который вы не авторизованы, GSC отклонит их:

Мы вернемся к этому через мгновение.

Открытые переадресации

Многие сайты используют параметр URL для управления перенаправлением:

В этом примере я бы перешел по редиректу на страницу page.html. Некоторые сайты с плохой структурой допускают так называемые «открытые переадресации», где эти параметры позволяют перенаправлять пользователя на другой домен:

Часто им не требуется никакого взаимодействия (например — авторизация), поэтому они просто перенаправляют пользователя сразу на страницу:

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

Tesco — британский ритейлер, который зарабатывает более 50 миллиардов фунтов стерлингов, более 1 миллиарда фунтов стерлингов — через свой веб-сайт. Я сообщил об этом примере Tesco (наряду с рядом других для других компаний, которые я обнаружил в ходе этого исследования), и с тех пор они исправили этот баг.

Ping Sitemaps через Open Redirects 😱

На данный момент вы, возможно, догадались, куда я пойду с этой уязвимостью. В итоге получается, что при отправке XML-карты сайта, если URL-адрес, который вы отправляете, является переадресацией, Google будет следовать этой переадресации, даже если это внешний домен. Важно отметить, что, по-видимому, он все еще связывает эту карту XML с доменом, который переадресовывал, и обрабатывает файл Sitemap, который он находит после перенаправления, разрешенным для этого домена.

Например:

В этом случае evil.xmlкарта сайта размещается blue_com, но Google связывает ее как принадлежащую и авторитетную для green_com. Используя это, вы можете отправлять XML-файлы Sitemap для сайтов, которым не следует управлять, и отправлять директивы Google по поиску.

Эксперимент: использование директивы hreflang для кражи веса сайта

На данный момент у меня были разные движущиеся части, но я не подтвердил, что Google действительно будет доверять перекрестной доменной карте XML, поэтому я провел эксперимент, чтобы проверить его. Я сделал много небольших тестов, чтобы понять различные части этого (а также различные тупики), но не ожидал, что этот эксперимент будет работать так же хорошо, как и на бумаге.

Я создал фальшивый домен для британской розничной компании, которая не работает в США, и развернул AWS сервер, который имитировал сайт (в основном, путем сбора уникального контента и его правки — изменения валюты / адреса и т.д.). Я анонимизировал компанию (и промышленность) здесь, чтобы защитить их, поэтому давайте просто назовем их victim_com

Теперь я создал фальшивую карту сайта, на которой был размещен evil_com, но содержал только URL-адреса victim_com. Эти URL-адреса содержат записи hreflang для каждого URL-адреса, указывающие на эквивалентный URL-адрес evil_com, что указывает на то , что это была американская версия victim_com. Теперь я представил этот файл Sitemap через открытый URL-адрес переадресации victim_com через механизм пинга Google.

В течение 48 часов сайт начал получать небольшие объемы трафика для НЧ запросов (SEMRush screenshot):

Прошло еще пару дней, и я начал появляться на ВЧ запросах на первой странице, на ряду с Amazon и Walmart.

Кроме того, в Google Search Console evil_com появилась информация, на то что victim_comссылается evil_com, хотя ссылок не было.

На этом этапе я обнаружил, что я также могу отправить XML-файлы Sitemap victim_comвнутри GSC для evil_com:

Казалось, что Google связал сайты, а в evil_com в Search console и теперь есть небольшая возможность повлиять на настройку victim_com. Теперь я смог отслеживать индексацию моих добавленных файлов Sitemap (вы можете видеть, что у меня было проиндексировано три тысячи страниц).

Searchmetrics показывала возрастающую стоимость трафика:

Google Search Console показывала более миллиона поисковых запросов и более 10 000 кликов в поиске Google. И до этого момента я ничего не делал, кроме как отправил XML-карту сайта!

Вы должны поверить, что я не позволял людям проводить оплаты на зеркале сайта, но если бы я захотел я мог бы либо обмануть людей на большие деньги, либо настроить рекламу, либо иным образом начал монетизировать этот трафик. На мой взгляд, это серьезный риск для посетителей Google, а также риск для компаний, которые полагаются на Google поиск. Трафик продолжал расти, но я закрыл свой эксперимент и прервал свои последующие эксперименты, опасаясь нанести урон компании.

Заключение

Этот метод полностью не виден для victim_com— XML-файлы Sitemap не отображаются в Search console.

Что касается черного SEO, этот способ был подтвержден, и кроме этого, это первый пример, который я знаю о прямом использовании алгоритма, вместо того, чтобы манипулировать факторами ранжирования.

Google поблагодарил меня чеком в $1337 за нахождение такого бага, и команда Google быстро справилась с устранением дырки в алгоритме.

Перевод материала Google XML sitemap auth bypass – Black Hat SEO Bug Bounty


Оцените статью:

Оцениваю на 1Оцениваю на 2Оцениваю на 3Оцениваю на 4Оцениваю на 5 4,00 из 5 на основе 1 оценок
Загрузка...

РУБРИКИ

НОВОЕ

ТОП

dog

Связаться со мной