Перейти к содержимому


Фотография

Уязвимость в Adblock Plus, позволяющая выполнить код при использовании сомнительных фильтров


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 santilax

santilax

    МЕСТНЫЙ

  • 49 topics
  • Пользователи
  • PipPipPip
  • 734 сообщений

Отправлено 23 апреля 2019 - 01:30

В блокировщике рекламы Adblock Plus выявлена уязвимость, позволяющая организовать выполнение Javascript-кода в контексте сайтов в случае использования непроверенных фильтров, подготовленных злоумышленниками (например, при подключении сторонних наборов правил или через подмену правил в ходе MITM-атаки).
 
Авторы списков с наборами фильтров могут организовать выполнение своего кода в контексте открываемых пользователем сайтов через добавление правил с оператором "rewrite", позволяющем заменить часть URL. Оператор rewrite не позволяет заменить хост в URL, но даёт возможность свободно манипулировать аргументами запроса. В качестве маски для замены допускается применение только текста, а подстановка тегов script, object и subdocument блокируется.
 
Тем не менее выполнения кода можно добиться обходным путём. Некоторые сайты, в том числе Google Maps, Gmail и Google Images, применяют технику динамической загрузки исполняемых Javascript-блоков, передаваемых в форме простого текста. Если сервер допускает перенаправление запросов, то проброса на другой хост можно добиться, подменив параметры URL (например, в контексте Google редирект может быть произведён через API "google.com/search"). Кроме хостов, допускающих редирект, атака также может быть совершена против сервисов, допускающих размещение контента пользователей (хостинги кода, платформы размещения статей и т.п.).
 
Предложенный метод атаки затрагивает только страницы, динамически загружающие строки с Javascript кодом (например, через XMLHttpRequest или Fetch) и затем выполняющие их. Другим важным ограничением является необходимость использования редиректа или размещения произвольных данных на стороне исходного сервера, отдающего ресурс. Тем не менее, в качестве демонстрации актуальности атаки показано, как организовать выполнение своего кода при открытии maps.google.com, используя редирект через "google.com/search".
 
Исправление пока находится в процессе подготовки. Проблема также затрагивает блокировщики AdBlock и uBlock. Блокировщик uBlock Origin проблеме не подвержен, так как не поддерживает оператор "rewrite". В своё время автор uBlock Origin отказался добавлять поддержку rewrite, сославшись на потенциальные проблемы с безопасностью и недостаточность ограничения на уровне хоста (вместо rewrite была предложена опция querystrip для очистки параметров запроса вместо их замены).
 
Разработчики Adblock Plus считают проведение реальных атак маловероятным, так как все изменения в штатных списках правил проходят рецензирование, а подключение сторонних списков практикуется пользователями крайне редко. Подмену правил через MITM исключает применение по умолчанию HTTPS для загрузки штатных списков блокировки (для остальных списков планируется запретить загрузку по HTTP в будущем выпуске). Для блокирования атаки на стороне сайтов могут применяться директивы CSP (Content Security Policy), через которые можно явно определить хосты, с которых допускается загрузка внешних ресурсов.

  • 0

#2 FragRok

FragRok

    МЕСТНЫЙ

  • 43 topics
  • Пользователи
  • PipPipPip
  • 730 сообщений

Отправлено 23 апреля 2019 - 03:28

Интересно конечно.


  • 0

#3 burguz

burguz

    МЕСТНЫЙ

  • 60 topics
  • Пользователь
  • PipPipPip
  • 579 сообщений

Отправлено 23 апреля 2019 - 04:20

Хорошая статья.


  • 0

#4 xrystim

xrystim

    МЕСТНЫЙ

  • 32 topics
  • Пользователи
  • PipPipPip
  • 250 сообщений

Отправлено 24 апреля 2019 - 07:27

Тяжело воспринять.


  • 0

#5 Класс7Б

Класс7Б

    МЕСТНЫЙ

  • 18 topics
  • Пользователи
  • PipPipPip
  • 309 сообщений

Отправлено 25 апреля 2019 - 09:24

Тяжело воспринять.

 и мне тоже


  • 0




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных