Почему злоумышленнику стоит проводить атаку clickjacking, если он может имитировать клик с помощью JavaScript?

Вопрос или проблема

Почему злоумышленник должен выбирать выполнение атаки clickjacking? Если они создают вредоносный веб-сайт, они могут просто выполнить действия автоматически, им не нужно “обманывать” пользователя, чтобы он кликал на скрытый iframe (то есть clickjacking).

Так почему же?

Злоумышленник, конечно, может симулировать клики на своём собственном веб-сайте, но они хотят инициировать клики на другом веб-сайте (например, paypal.com). Есть всего два варианта:

  • Если целевой веб-сайт уязвим к межсайтовому скриптингу, то злоумышленник может внедрить JavaScript код и действительно инициировать клики на этом сайте от имени пользователя.
  • Если цель уязвима к clickjacking (т.е. её можно вставить в iframe), то злоумышленник может попытаться заставить жертву кликнуть на элементы интерфейса внутри оформленного веб-сайта.

Обратите внимание, что невозможно симулировать клики на другом веб-сайте в iframe из-за политики одного источника. Целевой веб-сайт в значительной степени недоступен для JavaScript, поэтому злоумышленник не может выбрать элементы и инициировать клик.

Хотя другой ответ объясняет что эта предложенная атака невозможна, я хотел бы затронуть как политика одного источника (SOP) фактически предотвращает это.

Как сказано в объяснении SOP на Port Swigger

Источником является схема URI, домен и номер порта.

SOP предотвращает выполнение скриптов, работающих на одном источнике (https://attacker.com), от доступа или изменения свойств JS на другом источнике (https://paypal.com).

Что предотвращает вашу предложенную атаку.

Несмотря на то что iframe может отображать сайт PayPal, код JS на сайте злоумышленника не может инициировать действия, такие как нажатие кнопок внутри iframe PayPal, благодаря SOP.

Ответ или решение

Вопрос о том, почему злоумышленник должен выполнять атаку clickjacking, когда он может имитировать щелчок с помощью JavaScript, требует глубокого понимания механизмов безопасности, таких как политика одного источника (Same-Origin Policy, SOP).

  1. Политика одного источника: Данная политика предотвращает выполнение скриптов с одного источника (например, атакующий сайт) от доступа или модификации свойств на другом источнике (например, сайт PayPal). Это означает, что JavaScript, выполняемый на сайте злоумышленника, не имеет доступа к элементам интерфейса и функциям другого сайта, открытого в iframe. Таким образом, инициировать действия или щелчки на этом сайте с помощью JavaScript невозможно.

  2. Clickjacking как метод атаки: Так как прямое взаимодействие с элементами другого сайта ограничено, атаки типа clickjacking позволяют злоумышленнику обойти эту защиту. Clickjacking включает в себя наложение невидимого или "перекрытого" iframe с содержимым с другого сайта на свой собственный сайт. Злоумышленник использует визуальные подсказки, чтобы обманным путем побудить пользователя нажать на элементы управления на этой странице, находясь при этом на своем сайте.

  3. Преимущества clickjacking: Основным преимуществом clickjacking является возможность воздействовать на сайт жертвы, даже если он не уязвим для межсайтового скриптинга (XSS). Если целевой сайт уязвим для clickjacking, злоумышленник может заставить пользователя выполнить действия, такие как совершение платежей, изменение настроек учетной записи или запуск других действий без прямого доступа к JavaScript целевого сайта.

  4. Примеры: Используя clickjacking, злоумышленник может создать страницу, которая маскирует, например, кнопку "Подтвердить" или "Оплатить" на сайте PayPal. Пользователь, не подозревая об этом, может нажать на кнопку, которая на самом деле направляет действие на страницу злоумышленника, тем самым раскрывая личные данные или инициируя финансовые транзакции.

Обобщая, атака clickjacking является эффективным методом обхода ограничений, наложенных политикой одного источника, позволяя злоумышленникам взаимодействовать с сайтом жертвы через обман пользоватлей. Именно поэтому такие атаки становятся актуальными, когда другие методы, такие как межсайтовое скриптирование, невозможны.

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

Капча загружается...