ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Учебник по JavaScript, ч.3: Фреймы и окна, кликджекинг

Прочел первый раздел «Фреймы и окна» третьей части («Тематические разделы») учебника по JavaScript.

https://learn.javascript.ru

Часть 3. Тематические разделы (в т.ч. 66 подразделов)

Разделы:

1. Фреймы и окна (3 подраздела)

1.1 Открытие окон и методы window
1.2 Общение между окнами
1.3 Атака типа clickjacking

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

Задач к этому разделу нет, зато есть множество примеров кода.

Рассказано, как из JavaScript работать с окнами в браузере. Под «окнами» здесь подразумеваются как «всплывающие окна» (по-английски «pop-up») и вкладки браузера, так и содержимое фреймов. Для реализации последних раньше использовали HTML-элементы frame и frameset, но на сегодня их использование не рекомендуется, вместо них предлагается использовать HTML-элемент iframe. Рассказано о механизме блокировки всплывающих окон браузера и о том, как он работает.

В подразделе 1.2 рассказано, как наладить общение между окнами с помощью языка JavaScript и о том, как при этом обеспечивается безопасность с помощью политики одинакового источника (по-английски «same-origin policy»).

В подразделе 1.3 рассказано про способ обмана пользователей, который называется кликджекингом (по-английски «clickjacking»).

https://ru.wikipedia.org/wiki/Кликджекинг
https://en.wikipedia.org/wiki/Clickjacking

Почему об этом способе обмана вообще рассказывается в учебнике по языку JavaScript и почему о нем рассказывается именно в этом месте учебника? Потому что этот способ легко реализовать с помощью скрипта на языке JavaScript вкупе с кодом на языках HTML и CSS на HTML-странице. При этом может использоваться HTML-элемент iframe. В подразделе 1.3 рассказано о методах противодействия этому способу обмана. Чтобы разобраться в том, как работает этот способ обмана и в методах противодействия, нужно понимание работы с окнами в языке JavaScript.

Как работает этот способ обмана? Злоумышленник заманивает пользователя на свою HTML-страницу. На этой странице есть некий элемент интерфейса, на который предлагается нажать, чтобы что-то получить (например, кнопка для скачивания какого-либо файла и тому подобное). Пользователь нажимает мышкой («кликает») на этот элемент интерфейса. Но он не знает, что над этим элементом интерфейса растянут невидимый HTML-элемент iframe, в котором загружена другая HTML-страница.

Получается, под щелчок мышкой пользователя («клик») незаметно подкладывается другая HTML-страница («джекинг»). Эта другая HTML-страница может быть, к примеру, HTML-страницей в социальной сети, в которой данный пользователь зарегистрирован (или HTML-страницей банка, в котором данный пользователь имеет счет). Злоумышленник может незаметно подставить под щелчок мышкой пользователя кнопку лайка какого-то поста в социальной сети (это еще не так страшно) или кнопку отправки платежа в каком-нибудь интернет-магазине (это уже серьезнее).

Почему этот метод обмана срабатывает, если злоумышленник не имеет на руках ни логина, ни пароля пользователя? Дело в том, что многие пользователи, покидая какой-либо интернет-сервис, не выполняют выхода из него (например, просто закрывают HTML-страницу интернет-сервиса, при этом остаются залогинеными). При таком раскладе злоумышленнику достаточно незаметно подставить пользователю кнопку того интернет-сервиса, из которого пользователь не совершил выхода (разлогина).

Как злоумышленник угадывает, что данный пользователь вообще имеет аккаунт на определенном интернет-сервисе и что он не разлогинился на этом интернет-сервисе? Злоумышленник не угадывает, а просто «работает по площадям». Например, злоумышленник знает, что огромное количество пользователей имеет аккаунт, к примеру, на фейсбуке и не разлогинивается оттуда. Он заманивает всех, кого удастся, на свою HTML-страницу и подставляет с помощью кликджекинга, к примеру, кнопку лайка поста, который он хочет продвинуть в этой социальной сети. Те, у кого нет аккаунта в фейсбуке, или те, кто разлогинился при выходе из фейсбука, могут попасться на уловку и совершить нажатие мышкой, но это ничего не принесет злоумышленнику, обман не сработает. А вот для тех, у кого есть аккаунт в фейсбуке и кто не разлогинился на момент попадания в ловушку, обман сработает.

Естественно, большинство крупных интернет-сервисов типа фейсбука, твиттера и так далее, на сегодня уже защищены от кликджекинга. В подразделе 1.3 рассказано, какие есть способы защиты и как они работают.
Tags: Жулики, Образование, Программирование
Subscribe

  • Кэнтаро Миура умер

    Оказывается, 6 мая этого ( 2021) года умер от разрыва аорты японский мангака Кэнтаро Миура. Земля пухом. Ему было всего лишь 54 года. Я его знал…

  • С распадом СССР левая идея не умерла

    По этому поводу можно написать несколько книг, но я к этому не готов, просто хочу чиркнуть пару строк. Что я подразумеваю под «левой идеей»? По…

  • Роскомнадзор и DeviantArt.com, 2021 год

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

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments