Кликджекинг: что это и как не попасться на удочку хакеров

  • Автор темы Mr.Dante
  • Дата начала

M

Mr.Dante

Гость
clickjacking-cyber-securiy (2).jpg

И снова рады всех приветствовать! Сегодня мы поговорим о такой хитрой уловке хакеров, как кликджекинг. Разберем, что это такое, как работает и как защититься от этой заразы. Само название уже говорит о многом и происходит от слова «клик» - то есть, клик мышкой по чему-либо.

Такая уязвимость в сайтах очень просто выявляется. Например, человек открывает ресурс, находит в нем нужную кнопку или картинку, кликает по ней, а тут внезапно открывается другой сайт. Или вообще ничего не происходит, как будто нажатия не было. И это первый признак кликджекинга. Стоит отметить, что она может работать не только как ссылка. Например, таким способом пользователь может поставить кому-нибудь «лайк» даже не зная этого.

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

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

Как работает кликджекинг

Из классических методик кликджекинга стоит выделить следующие:
  • Невидимые фреймы. Создается невидимый фрейм, который выставляется прямо под курсором мыши над кнопкой. Например, чтобы закрыть рекламы, такой фрейм могут наложить на крестик. Пользователь кликает – срабатывает алгоритм. Это особенно часто можно увидеть на сайтах без блокираторов рекламных блоков. Вроде бы и рекламу закрываешь, а все равно переходишь на другой сайт.
  • События указателя. Создается плавающий div, который полностью закрывает целевой элемент пользовательского интерфейса. Для целевого элемента устанавливается CSS-свойство pointer-events в ‘none’, что заставляет клики проходить сквозь него, регистрируя их на невидимый фрейм злоумышленника.
  • Наложения прозрачного цвета. Как раз самый опасный и популярный тип. Наложение может минимального размера, например, чтобы покрыть всего одну кнопку. А еще оно может быть на всю страницу – куда ни кликни, все равно сработаем алгоритм кликджекинга. Самая популярная разновидность.

Думаете это все? Как бы не так! Есть и более экзотические методики:
  • Оперативная замена контента. То есть, как только человек наводит на форму курсор, ее код заменяется. То есть, была кнопка входа в личный кабинет, а стала ссылка на другой ресурс. Такой метод требует детальных расчетов, чтобы пользователь не успел заметить подмену, а производится она сверхбыстро.
  • Дублирующие призрачные курсоры. То есть, попадая на страницу, появляется дубль курсора пользователя. Сама страница стилизуется так, чтобы выделялся как раз призрачный курсор, а не настоящий. Таким образом пользователь визуально следит за одним курсором, а нажатие происходит в совсем другом месте страницы.
Чем хитрее хакер, тем экзотичнее методика. Кликджекинг – универсальная технология, оттого она и опасная.

Как можно узнать, уязвим ли ваш сайт перед такой опасностью

Способ простой и понятный, но многие вебмастера забывают о нем, из-за чего потом сталкиваются с такой уязвимостью. Алгоритм проверки следующий:
  • Создайте новую страницу HTML.
  • Попытайтесь пропихнуть в ее фрейм одну из страниц вашего сайта.
  • Если это получилось – пора подумать о защите от кликджекинговой атаки.
А теперь разберем методики защиты.

Как защитить свой сайт

Так, с пониманием этой заразы мы разобрались. Теперь разберемся и с тем, как защитить свою площадку от такой «бяки». Из наиболее проверенных методов стоит выделить:
  • Применяйте заголовок X-Frame-Options. Он позволяет разрешить или заблокировать публикацию страницы внутри фрейма. И в этом случае лучше и безопаснее использовать параметр DENY, а не SAMEORIGIN.
  • Юзайте Content Security Policy. Он позволяет работать заранее одобренными источниками для публикаций. А еще в нем можно устанавливать свои правила для встраиваемых объектов.
  • Framebusting – метод стар, как хобот мамонта, но помочь вполне может. Он позволяет просто запретить открытие странички во фрейме.
  • Используйте атрибут samesite со значением Strict. Тогда опасности можно будет избежать.
Это основные методики защиты от такой уязвимости сайта.

Post Scriptum

Помните, защита ваших ПК, ПО и сайтов – это именно ваша задача. Лучше перепроверить сайт, чем потом подвести своих же посетителей, которые из-за уязвимости попадут непонятно куда. Зачастую и сам вебмастер может стать жертвой кликджекинга. А для тех, кто не хочет устанавливать на ПК антивирусы, у нас есть отличная статья «Как жить без антивируса. Советы хакера.»

Не забудьте подписаться на наш ТГ - , группу в VK - и на дзен канал. Также будем признательны за поставленный палец вверх нашей статьей.
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 050
Репутация
8 155
Спасибо за статью !)

Небольшое уточнение:

Кликджекинг - Это атаки на стороне сайта, если вы не хотите вводить пользователя в заблуждение, то основное правила как защитится, это проверяйте ваши рекламные партнёрские компании, не вставляйте подозрительный код на ваш сайт, по осторожнее с плагинами для сайтов.

Но есть ещё интересная атака, это SPRF.

Если вкратце, это подделка запроса на стороне сервера – это атака, которая позволяет отправлять запросы от имени сервера к внешним или внутренним ресурсам. При этом злоумышленник может контролировать либо весь запрос целиком, либо его отдельные части (например, домен).

На схеме ниже показан простой пример такой атаки:

0104b068341a7a2a1a096883c809dad3.jpg


К этой атаке в основном уязвимы веб-приложения, которые взаимодействуют со сторонними сервисами либо загружают данные по ссылкам. В таких системах совершаемые запросы бывают подконтрольны пользователям. И в результате подмены ссылки запрос уходит уже на другие ресурсы.

Как бы ни были разнообразны последствия, причина всегда одна – некорректная проверка данных. При получении ссылки сервер не проверяет переданный в ней адрес и обращается к указанному пользователем ресурсу.

Вот краткая схема атаки:

Например, пользователь Алиса может просматривать форум, где другой пользователь, Боб, разместил сообщение. Пусть Боб создал тег <img>, в котором в качестве источника картинки указал URL, при переходе по которому выполняется действие на сайте банка Алисы, например:

Боб: Привет, Алиса! Посмотри, какой милый котик: <img src=" ">

Если банк Алисы хранит информацию об аутентификации Алисы в куки, и если куки ещё не истекли, при попытке загрузить картинку браузер Алисы отправит куки в запросе на перевод денег на счёт Боба, чем подтвердит аутентификацию Алисы. Таким образом, транзакция будет успешно завершена, хотя её подтверждение произойдет без ведома Алисы.

Если интересно, можно в следующих статьях написать про такие атаки и как защищаться.)
 
Верх Низ