Хабрахабр

Хакер нашёл способ следить за посетителями сайтов конкурентов

Простой скрипт изменяет поведение кнопки Back в браузере и подменяет исходную поисковую выдачу, направляя пользователей на контролируемые хакером копии сайтов конкурентов

Можно открыть десятки отдельных вкладок или ходить на каждый сайт по очереди, возвращаясь затем на поисковую выдачу (кнопка Back в браузере). Распространённый паттерн: открыть страницу поиска в Google и щёлкать по разным результатам в поисках нужной информации. Специалист по поисковой оптимизации Дэн Петрович из австралийской компании Dejan Marketing придумал, как эксплуатировать этот паттерн с выгодой для себя и получить обширную статистику посещений сайтов конкурентов, лишив их трафика.

Перехватывая трафик конкурентов, специалист получает возможность: Схема показана на иллюстрации вверху.

  • генерировать теплокарты чужих сайтов (клики, переходы, глубина прокрутки)
  • записывать реальные сессии (движения мыши, нажатия клавиатуры)
  • получать весь текст из заполненных форм, в том числе форм для заказа товаров

Разумеется, Дэн Петрович не делал ничего из перечисленного, потому что это явное нарушение закона. Вероятно, нарушением закона будет и альтернативный способ изучения сайтов конкурентов, без подделки поисковой выдачи, а с помощью обычного клонирования чужого сайта — и покупки трафика через социальные медиа и т.д.

Собственно, такой скрипт легко написать и самому, зная функциональность метода history.pushState() для изменения истории браузера с учётом реферера. Баг в браузерах по-прежнему не закрыт, так что этим способом могут воспользоваться и другие злоумышленники: код JavaScript для эксплуатации уязвимости опубликован в открытом доступе.

Тогда вместо закрытия уязвимости компания Google вручную понизила его страницу в поисковой выдаче (ту страницу, с которой осуществлялась переадресация на поддельные результаты поиска по кнопке Back). Дэн Петрович обращает внимание, что впервые использовал этот трюк ещё в ноябре 2012 года. Без всяких уведомлений в Search Console его сайт удалили из поискового индекса целиком. Сейчас, когда он повторно продемонстрировал данный способ, Google поступил ещё более жёстко.

О них сначала сообщают разработчикам и ожидают исправления бага, и только постфактум рассказывают о нём. Хакер признаёт, что в сообществе информационной безопасности принято иначе обрабатывать найденные уязвимости. Но Петрович поступил иначе — он показал схему на реальных сайтах и сразу рассказал всем. Профессиональные пентестеры подробно объяснили автору, как он должен был безопасным способом продемонстрировать данную уязвимость. Но за прошедшие годы никто из конкурентов не подавал судебных исков, как и компания Google (которая тоже является пострадавшей из-за поддельной поисковой выдачи). Кроме того, есть большие сомнения в законности подобного хака даже без реальной слежки за пользователями, то есть в легальности создания поддельных копий чужих сайтов и перенаправлении туда пользователей. То есть этичность действий SEO-специалиста под вопросом. Это полноценный фишинг, пусть и в демонстрационных целях и без злого умысла.

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

  1. Устранить возможность манипуляции кнопкой Back в Chrome.
  2. Автоматически понижать в выдаче сайты, которые используют этот трюк (а не вручную штрафовать только его лично). В данный момент Google не замечает этих скриптов: эксперимент Петровича оставался незамеченным пять лет и его сайт высоко ранжировался в поисковой выдаче.
  3. Помечать страницы с history.pushState() и подменой поисковой выдачи как «опасные».

От такого фишинга частично защищают сертификаты SSL с привязкой к организации (OV) и с расширенной проверкой (EV), но это всё равно не панацея от невнимательности пользователей.

Многие пользователи не проверяют, кому принадлежит сертификат и не вчитываются в URL — они просто довольны, что в браузере есть значок защищённого соединения, хотя тот выдан на чужой домен. Эксперимент Дэна Петровича показал, что сейчас около 50% пользователей не находят ничего подозрительного, когда их перенаправляют на поддельную поисковую выдачу, а потом на копию другого сайта в локальном домене. Злоумышленники давно выяснили, что значок защищённого соединения повышает доверие к фишинговому сайту.

Для решения этой проблемы можно предпринять ряд мер, например:

  • Требовать подтверждения пользователя применения методов history.pushState и History#replaceState.
  • Подсвечивать наиболее важную часть URL в адресной строке Chrome, как это делает Firefox.
  • Не помечать сайты HTTPS как «безопасные», потому что это вводит пользователя в заблуждение и даёт ложное чувство безопасности.
  • Изменять значок кнопки Back, если она ведёт на адрес, отличный от предыдущей страницы.
Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть