Атака типа clickjacking
Атака типа clickjacking (англ. «захват клика») позволяет вредоносной странице кликнуть по сайту-жертве от имени посетителя.
Многие сайты были взломаны подобным способом, включая Twitter, Facebook, Paypal и другие. Все они, конечно же, сейчас защищены.
Идея этой атаки очень проста.
Вот как clickjacking-атака была проведена на Facebook:
Демонстрация
Вот как выглядит вредоносная страница. Для наглядности полупрозрачный (на реальных вредоносных страницах он полностью прозрачен):
Полная демонстрация атаки:
В результате, если пользователь авторизован на сайте Facebook («Запомнить меня» обычно активировано), то он добавляет «лайк». В Twitter это будет кнопка «читать», и т.п.
Вот тот же пример, но более приближенный к реальности с opacity:0 для :
Эта атака срабатывает только на действия мыши (или аналогичные, вроде нажатия пальцем на мобильном устройстве).
Клавиатурный ввод гораздо сложнее перенаправить. Технически, если у нас есть текстовое поле для взлома, мы можем расположить ифрейм таким образом, чтобы текстовые поля перекрывали друг друга. Тогда посетитель при попытке сфокусироваться на текстовом поле, которое он видит на странице, фактически будет фокусироваться на текстовом поле внутри ифрейм.
Но есть одна проблема. Всё, что посетитель печатает, будет скрыто, потому что ифрейм не виден.
Обычно люди перестают печатать, когда не видят на экране новых символов.
Примеры слабой защиты
Самым старым вариантом защиты является код JavaScript, запрещающий открытие страницы во фрейме (это называют «framebusting»).
Выглядит он вот так:
В этом случае, если окно обнаруживает, что оно открыто во фрейме, оно автоматически располагает себя сверху.
Этот метод не является надёжной защитой, поскольку появилось множество способов его обойти. Рассмотрим некоторые из них.
Блокировка top-навигации
Мы можем заблокировать переход, вызванный сменой top.location в обработчике события beforeunload.
Внешняя страница (принадлежащая хакеру) устанавливает обработчик на это событие, отменяющий его, например, такой:
Атрибут «sandbox»
Вот код этого примера:
Есть и другие способы обойти эту простую защиту.
Заголовок X-Frame-Options
Заголовок X-Frame-Options со стороны сервера может разрешать или запрещать отображение страницы внутри фрейма.
Заголовок может иметь 3 значения:
DENY Никогда не показывать страницу внутри фрейма. SAMEORIGIN Разрешить открытие страницы внутри фрейма только в том случае, если родительский документ имеет тот же источник. ALLOW-FROM domain Разрешить открытие страницы внутри фрейма только в том случае, если родительский документ находится на указанном в заголовке домене.
В зависимости от того, какой браузер вы используете, iframe выше либо будет пустым, либо оповестит вас о том, что его невозможно отобразить.
Отображение с ограниченными возможностями
У заголовка X-Frame-Options есть побочный эффект. Другие сайты не смогут отобразить нашу страницу во фрейме, даже если у них будут на то веские причины.
Так что есть другие решения… Например, мы можем «накрыть» страницу блоком
Атрибут cookie: samesite
Атрибут samesite также может помочь избежать clickjacking-атаки.
Файл куки с таким атрибутом отправляется на сайт только в том случае, если он открыт напрямую, не через фрейм или каким-либо другим способом. Подробно об этом – в главе Куки, document.cookie.
Если сайт, такой как Facebook, при установке авторизующего куки ставит атрибут samesite :
… Тогда такие куки не будут отправляться, когда Facebook будет открыт в ифрейме с другого сайта. Так что атака не удастся.
Атрибут samesite не играет никакой роли, если куки не используются. Так что другие веб-сайты смогут отображать публичные, не требующие авторизации, страницы в ифрейме.
Однако, это даёт возможность в некоторых ситуациях осуществить clickjacking-атаку, например, на сайт для анонимных опросов, который предотвращает повторное голосование пользователя путём проверки IP-адреса. Он останется уязвимым к атаке, потому что не аутентифицирует пользователей с помощью куки.
Итого
Атака сlickjacking – это способ хитростью «заставить» пользователей кликнуть на сайте-жертве, без понимания, что происходит. Она опасна, если по клику могут быть произведены важные действия.
Хакер может разместить ссылку на свою вредоносную страницу в сообщении или найти другие способы, как заманить пользователей. Вариантов множество.
С одной стороны — эта атака «неглубокая», ведь хакер перехватывает только один клик. Но с другой стороны, если хакер знает, что после этого клика появятся другие элементы управления, то он может хитростью заставить пользователя кликнуть на них.
Этот вид атаки довольно опасен, ведь при разработке интерфейсов мы не предполагаем, что хакер может кликнуть от имени пользователя. Поэтому уязвимости могут быть обнаружены в совершенно неожиданных местах.
linux-notes.org
Что такое ClickJacking?
ClickJacking — это один из типов атак на сайты. ClickJacking переводится «кража клика». Суть этой атаки заключается в том, что некоторый юзер, который совершает нажатие (делает клик по ссылке) на определенную область ( та которая была сформирована ранее злоумышленником), то на самом деле нажимает на ссылку другого сайта. Часто всего — это используется для накрутки ретвитов или лайков.
Как это работает?
Принцип атаки заключается в возможности загружать атакуемый сайт в фрейм.
События могут развиваться:
Какие сайты подвержены ClickJacking-у?
Сайты которые дают возможность загружать страницы своих ресурсов во фреймы, которые находятся на других доменных именах. Чтобы загружать страницы (документы) в фреймы с других сайтов служит заголовок X-Frame-Options.
Данный заголовок имеет 4 состояния ( опций):
Защита от ClickJacking в Apache
У заголовка X-Frame-Options:ALLOW-ALL имеется 2 стабильных варианта:
И так, если вы хотите запретить загрузку домена во фреймы ( которые могут быть на других сайтах), то стоит прописать:
Если хотите чтобы домен не был загружен в iframe даже на вашем сайте, используйте вторую строку ( вариант с DENY):
Защита от ClickJacking в Nginx
Для nginx похожие настройки как и для apache. Открываем ваш nginx конфигурационный файл и прописываем:
PS: Данную опию нужно вставить после «server»:
Проверка на ClickJacking
В своем терминале можно выполнить команду:
Вот и все! Защита от ClickJacking выполнена.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Кликджекинг
Кликджекинг (clickjacking) – обманная технология, основанная на размещении вызывающих какие-то действия невидимых элементов на сайте поверх видимых активных (кнопки, воспроизведение видео и т. д.). В результате пользователь, сам того не зная, совершает что-то, что не входило в его планы. Например, собирается воспроизвести видео, но подписывается на чью-то рассылку.
Цель кликджекинга может быть любой – от более-менее безобидной накрутки лайков в социальных сетях или подписчиков до скрытого получения персональных данных, совершения покупок за чужой счет и т. д. Чаще всего идет взаимодействие через социальные сети: лайки, вступления в сообщества, кражу личных данных из профиля.
Отношение поисковых систем
Яндекс относит кликджекинг к факторам, негативно влияющим на ранжирование сайта, потому что технология в той или иной степени наносит вред пользователям.
При обнаружении использования обманной технологии позиции сайта в органической выдаче Яндекса понизятся, пока не прекратится использование кликджекинга.
Отмечают проседание позиций на 20–30 пунктов и заметное снижение поискового трафика по брендовым запросам.
Ограничения в ранжировании снимаются в течение двух неделей после устранения проблемы. В редких случаях нужен срок немного больше.
Наложение санкций за кликджекинг отображается в разделе «Безопасность и нарушения» в Яндекс.Вебмастере.
В Яндекс.Браузере сайт будет показываться с предупреждением, что может заметно сказываться на кликабельности.
Решение о наложении санкций применяется только по актуальным данным. То есть использование кликджекинга, например, месяц назад не сказывается на его сегодняшнем положении в выдаче Яндекса.
Если код обманной технологии есть, но неактивен, ограничения в ранжировании на поиске Яндекса не будет.
Google официально не понижает позиции сайта в выдаче, но замеченные в использовании ресурсы исключаются из контекстно-медийной сети, их владельцы не смогут зарабатывать на размещении рекламы от Гугла.
Риски
Не все владельцы сайтов знают, что на их ресурсе используется кликджекинг. Он может быть добавлен незаметно вместе с любым кодом неизвестного происхождения.
Разработчики не афишируют, что применяют кликджекинг. А результат его работы, например кражу персональных данных, могут выдавать как цель, достигаемую другими методами.
Так, например, кликджекинг используют некоторые сервисы, обещающие повысить продажи с сайта с помощью идентификации посетителей через профили в социальных сетях. Контакты пользователя сохраняются в системе и употребляются для рассылки спама, осуществления навязчивых звонков и т. д.
При решении вопроса о добавлении какого-либо кода на сайт должны насторожить следующие обещания разработчика:
Сервисы, оказывающие подобные услуги, необязательно используют кликджекинг, так как есть и другие, легальные технологии, не обманывающие пользователей и не вызывающие понижение в ранжировании в Яндексе. Но недобросовестные разработчики могут на самом деле применять и кликджекинг, выдавая за него другую методику. Поэтому нужно проверять работу всех добавляемых на сайт элементов.
Код может быть размещен осознанно или нет не только владельцем сайта. Технологию могут внедрить злоумышленники, взломав ресурс.
Как обнаружить кликджекинг
Если в Вебмастере Яндекса появилось сообщение, что сайт использует обманную технологию, нужно выявить элементы, содержащие вредоносный код.
Найти их можно с помощью специального софта или вручную.
Пример софта – расширение Clickjacking Reveal для браузера Google Chrome. Нужно произвести установку, на исследуемом сайте открыть Developer Tools (Ctrl + Shift + I), обновить страницу (Ctrl + F5). Расширение найдет вредоносный код. Если он есть, откроется вкладка Source. В ней будут указаны скрипты, использующие обманную технологию.
Чтобы найти кликджекинг вручную, нужно выявить скрытые элементы. Для этого используется консоль браузера. Во время проверки нужно быть авторизованным в какой-нибудь социальной сети.
Необходимо выполнить следующие действия:
Если найден код, являющийся причиной кликджекинга, его нужно удалить. Предварительно рекомендуется сохранять резервную копию сайта, чтобы случайно не нарушить работу каких-то необходимых и безопасных для пользователей элементов.
После устранения кода кликджекинга нужно зайти в раздел «Безопасность и нарушения» в Вебмастере Яндекса и нажать на кнопку «Я все исправил», чтобы быстрее произошла повторная проверка.
Что не относится к кликджекингу
Внедрение санкций со стороны Яндекса за кликджекинг вызвало много вопросов о некоторых размещаемых на сайтах элементах. Что не попадает под определение и может использоваться:
Не любое взаимодействие сайта с социальной сетью может относиться к кликджекингу. Обманная технология – это только та, которая работает без ведома пользователей, скрыта от них, тайно получает данные, которые они не собирались о себе сообщать, или заставляет неосознанно совершать незапланированные действия. За использование легальных технологий, обращающихся к соцсетям, со стороны Яндекса нет санкций.
Clickjacking атаки. Что это, как обнаружить и предотвратить.
«Кликджекинг» — он же «Clickjacking», он же «угон клика», он же «подмена пользовательского интерфейса», он же «перекрытие iframe» — позволяет хакеру выполнить клик на сайте от имени посетителя. Как он это делает? Атакующий создаёт страницу с тщательно размещёнными визуальными элементами. Поверх размещается прозрачный iframe. Пользователь заманчиво нажимает на эти элементы, но в действительности неосознанно нажимает на элемент на другой странице. Весь фокус заключается в прозрачности, так что «жертва» взаимодействует с элементом пользовательского интерфейса, которого просто не видит.
Известно, что Clickjacking использовался уже в 2002 году, однако, как серьёзная проблема безопасности веб-приложений рассматривается лишь с 2008 года. И правильно, ведь атака направлена как на пользователя, так и на другой веб-сайт или веб-приложение. Пользователь является прямой жертвой, а сайт используется в качестве инструмента.
Примеры кликджекинга.
Есть много техник. Вот несколько примеров того, как злоумышленники могут применять различные методы, чтобы обмануть пользователя:
Вариантов много, так что владельцам сайтов или веб-приложений надо убедиться, что пользователи и посетители защищены от такой угрозы.
Можно использовать несколько методов защиты или даже их комбинацию.
Как проверить, уязвим ли сайт?
Можно проверить вручную ресурсы на наличие лишних кодов и вставок. Или же купить сканер уязвимостей Acunetix, который автоматически проверяет наличие заголовка X-Frame-Options и директивы CSP frame-ancestors на веб-ресурсах.
Мышь в ловушке. Что такое кликджекинг и как защитить свои клики
Слово «clickjacking» имеет два корня: «click» («нажатие») и «hijack» («захватить»). Таким образом, кликджекинг – это захват выполненного пользователем клика мышкой и использование его в мошеннических целях.
В конечном результате, кликая на кнопку, вы попадаете совершенно на другую страницу. Это несет в себе огромную угрозу вашей безопасности в Интернете. Именно поэтому понимание основ кликджекинга и методов его предотвращения крайне важная тема для любого пользователя сети. В этой статье мы расскажем вам о том, что собой представляет эта атака и как можно защитить себя от нее.
Суть кликджекинга
Основной метод выполнения этой атаки довольно прост и основывается на том, что можно создать невидимый элемент на веб-странце. Злоумышленники создают на сайте невидимые кнопки, которые устанавливаются поверх настоящих ссылок и картинок.
Когда вы нажимаете на обычную ссылку на веб-странице, вы, на самом деле, кликаете на невидимую кнопку, ведущую на вредоносный сайт. Это достаточно скрытный и сложный метод обмана пользователей. Вам наверняка очень интересно, что именно хакеры могут провернуть с помощью этой атаки? Украсть ваши личные данные? К сожалению, ответы на эти вопросы вас огорчат. Приготовьтесь и переходите к следующему разделу нашей статьи.
На что способны кликджекеры
Сперва может показаться, что кликджекинг не слишком опасен, однако ваши клики обладают огромной властью. Операционные системы были созданы таким образом, чтобы доверять пользователю. Если пользователь с соответствующими правами просит компьютер что-то сделать для него, у машины нет другого выбора, кроме как подчиниться ему. Кликджекеры обманывают человека, заставляя его попросить свой собственный компьютер сделать что-то, чего он не хотел. У машины нет никакой возможности отказаться от подобного рода приказа.
Если предположить, что кликджекерам удастся перенаправить ваш клик в другое место, насколько серьезны будут последствия? Как вы, наверное, уже догадались, один из распространенных типов кликджекинга включает в себя обман пользователя при загрузке и запуске программы (вместо обычной программы человек скачивает вредоносное ПО). Учитывая тот факт, что пользователь разрешает загрузку и установку вредоносной программы, она спокойно устанавливается с тем уровнем доступа к системе, который вы ей предоставили.
Кликджекеры также могут перенаправить вас на мошеннический веб-сайт, находящийся под их контролем. Например, вы попадаете на фишинговый ресурс или страницу, заполненную рекламой и вредоносными программами. Кликджекинг часто применяется для захвата ваших учетных данных для входа на различные сайты. В то время как вы думаете, что заполняете поля непосредственно на официальном сайте, ваша информация уже перехватывается мошенниками.
Перехваченные клики могут быть использованы для манипулирования вашим компьютером. Например, злоумышленники через веб-браузер могут получить доступ к вашему оборудованию, такому как веб-камера и микрофон. Когда сайт запрашивает доступ к этим устройствам, вам необходимо предоставить на это разрешение. Кликджекер перенаправит ваши клики, чтобы получить нужное разрешение, и сможет секретно записывать видео и аудио вашей личной жизни.
Разновидности кликджекинга
Хакеры взяли за основу базовую концепцию кликджекинга и создали несколько подтипов (форм) этой атаки.
Как выполняется атака кликджекинга
В то время как кликджекинг имеет различные формы, существует общая модель осуществления подобных атак, которая, по всей видимости, составляет основу данной хакерской практики.
Есть два основных способа:
Как предотвратить кликджекинг
Кликджекинг нацелен на две разные стороны одновременно. Первая – это владелец законного веб-сайта, который будет скомпрометирован мошенническим невидимым фреймом. Владельцы ресурсов могут спроектировать свой сайт таким образом, чтобы он не был завернут в HTML-тег Iframe и оставался в безопасности.
Если вы не владелец сайта, а просто обычный пользователь, есть несколько способов не стать жертвой мошенников.
Во-первых, убедитесь, что ваш веб-браузер обновлен до последней версии. Многие эксплойты кликджекинга быстро исправляются разработчиками. Еще одним эффективным способом предотвращения данной атаки является использование специальных расширений в браузере. Например, No ClickJack для Google Chrome покажет вам скрытые, невидимые для вас веб-слои, если такие будут обнаружены. Таким образом, вы сможете обезопасить себя и свои личные данные.
Подписывайся на Эксплойт в Telegram, чтобы не пропустить новые компьютерные трюки, хитрости смартфонов и секреты безопасности в интернете.








