The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

16.04.2019 07:31

В блокировщике рекламы 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), через которые можно явно определить хосты, с которых допускается загрузка внешних ресурсов.

  1. Главная ссылка к новости (https://adblockplus.org/blog/p...)
  2. OpenNews: Судебный иск против Adblock Plus, манипулирующий изменением кода на сайтах
  3. OpenNews: SmartAdBlock - новый легковесный блокировщик рекламы для Chrome и Firefox
  4. OpenNews: Новая редакция манифеста Chrome сделает невозможным использование uBlock Origin
  5. OpenNews: Около 9% сайтов используют код для обхода блокировщиков рекламы
  6. OpenNews: DMCA использован для удаления из списка блокировки рекламы Easylist
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50521-adblock
Ключевые слова: adblock
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (50) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Дегенератор (ok), 09:10, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Не понимаю, почему могут быть такие новости, если есть ublock orign?
     
     
  • 2.2, A.Stahl (ok), 09:22, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +21 +/
    Потому что есть такая программа Adblock Plus и в ней нашли уязвимость.
     
  • 2.4, hand (?), 09:33, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    со всех фронтов заходят чтобы задавить, вчера иск подали на них совершенно замечательный, сегодня эта уязвимость.
     
  • 2.6, пох (?), 10:14, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    вот буквально два дня назад кто-то тут рекламировал какую-то неведомую поделку, якобы расширяющую функционал ублока - в том числе, предлагающую установить в него какой-то набор правил, напрямую скачиваемый с неведомого сайта неведомо чьего владения.

    Да, там код.

     
  • 2.10, InuYasha (?), 11:25, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • –12 +/
    С его текущим ужасным UI uBlock не юзабелен. Мб они хотели сделать интерфейс для бабушек, но получилось вообще отвратно. У Adblock в своё время было ВСЁ. Зачем поднадобилось менять? В общем, поменяли ради того чтобы поменять.
     
     
  • 3.29, Урри (?), 18:07, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Текущий uBlock для бабушек подходит на все 100% ибо ВООБЩЕ не требует заходить в UI. Наботает из коробки без каких либо дополнительных телодвижений.
     
  • 2.14, AlexYeCu_not_logged (?), 12:12, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • –13 +/
    >Не понимаю, почему могут быть такие новости, если есть ublock orign?

    Потому что Ublock Origin всё ещё уступает по функционалу AdBlock'у.

     
     
  • 3.16, Аноним (16), 12:25, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Тем, что в нем нет галочки, разрешающей проплаченную "ненавязчивую" рекламу?
     
     
  • 4.23, Аноним (23), 15:01, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Потому что его пока еще трудно пользовать, не приходя в сознание. Его автор еще не обо всем за нас подумал. Необходимость хоть чуть напрягать мозги отвлекает, понимаишь, от просмотра про^Wкотиков.
     
     
  • 5.42, Аноним (42), 09:41, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Правильно говоришь. Жалко, что народ тебя не понял и на автомате заминусил.
     
     
  • 6.43, Аноним (23), 09:42, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Наоборот, слишком хорошо поняли. :)
     
  • 4.48, AlexYeCu_not_logged (?), 15:23, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Тем, что в нем нет галочки, разрешающей проплаченную "ненавязчивую" рекламу?

    Этот функционал мне без надобности.
    Вообще же фанаты uBlock-а не отличаются адекватностью, как я посмотрю.

     
  • 2.15, анон (?), 12:21, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • –13 +/
    потому-что єто говно все еще ломает и портит странички в отличии от адблока.
     
     
  • 3.19, IronMan (?), 13:22, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, у меня не ломает. Покажи мне хоть одну такую страничку.
     
     
  • 4.21, Аноним (21), 14:00, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Нет, у меня не ломает. Покажи мне хоть одну такую страничку.

    У него просто рекламу не показывает :(

     
  • 4.25, Вася (??), 15:53, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Могу показать. otvet.mail.ru
    Без отключения косметических фильтров в uBlock Origin слетает верстка.
     
     
  • 5.33, Ordu (ok), 18:52, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Могу показать. otvet.mail.ru
    > mail.ru

    Это не баг, это фича. mail.ru должен слетать и не работать. Это его карма. Я удивлён, что он ещё жив до сих пор, думал давно уже скончался за ненадобностью и на всю голову бажностью.

     
     
  • 6.37, Аноним (37), 20:08, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Было бы смешно, если бы не правда.

    На Дноклассниках(тм) рекламу подсовывают даже по нажатию кнопки "Выйти" и периодически делают редизайны для профилактики свободомыслия у крепостных.

    @Вася, видимо подписки в uBlock0 ещё не подтянулись за обновлением ненужно^W сайта. Функция логирования в помощь. Совсем недавно добавлял подруге исключения на Дноклассниках(тм):
    @@||https://ok.ru/dk?cmd=NotificationsController
    @@||https://ok.ru/dk?cmd=ReactBlock
    @@||https://ok.ru/dk?cmd=videoPlayerMetadata
    @@||https://ok.ru/dk?cmd=videoStatNew
    @@||https://paymentnew.ok.ru/dk?cmd=sendPresent

     
  • 5.38, Аноним (38), 22:49, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    mail.ru недавно в вебморде сделали рекламу с жёсткими контрмерами против блокировщиков. Чтобы обойти придётся написать свой ublock с машинным обучением.
     
     
  • 6.44, Аноним (23), 09:44, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Чтобы обойти придётся написать свой ublock с машинным обучением.

    Чтобы обходить эту кучу г десятой дорогой, не надо ничего писать.

     
  • 6.52, anon342532 (?), 18:46, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Зашёл только что на mail.ru со включенным uBlock. А где реклама? А вообще, правильно говорят, что лучше туда не кодить категорически.
     
  • 4.53, хотел спросить (?), 22:34, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ломает ломает
    много зависит от выбранных фильтров
    но это ожидаемо ведь, если ты блочишь скрипты, то какой-нибудь говносайт не заработает
    а так 99.999% страниц открываются без проблем
     
  • 3.51, anon342532 (?), 18:41, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    У меня достаточно агрессивные настройки uBlock'а. Проблем с отображением страниц не видел. Кастомные правила создавать тоже в целом удобно. Я не фанат, но попробовав раз на AdBlock не вернулся. А в целом, конечно хорошо, что AdBlock'а/uBlock'а есть достойный конкурент в его нише. Конкуренция - всегда хорошо, для конечного пользователя. Жаль, что среднестатистический россиянин, этого совсем не понимает.
     
     
  • 4.54, хотел спросить (?), 22:35, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я выбираю uBlock Origin просто потому что опенсорс
    и в ungoogled chromium ставится чудесно руками из репы
     

  • 1.3, Аноним (3), 09:25, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Уязвимость в Adblock
    > Некоторые сайты, в том числе Google Maps, Gmail и Google Images

    Не-а. Это в google уязвимость

     
     
  • 2.5, Аноним (16), 10:03, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Notabug!
     
  • 2.9, Аноним (3), 11:25, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Google выполнил свою задачу. Google может уходить.
     

  • 1.7, Аноним (7), 10:18, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это не баг, это фича.
     
  • 1.11, Аноним (11), 11:39, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Вот поэтому я не устанавливаю в арбузер никаких расширений, которые тормозят и открывают дыры. Слава мне!
     
     
  • 2.13, имя (?), 11:53, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты наверное и исходники программ читаешь перед компиляцией? Хотя постой! А в голове держишь хеши для проверки повторяемости сборок?
     
     
  • 3.17, Аноним (16), 12:27, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Для начала он пытается прлдраться через тонны незаблокированных баннеров. А для этого надо всего лишь каждый день... [читать далее]
     
     
  • 4.26, Аноним (26), 16:23, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > А для этого надо всего лишь каждый день...

    ... смеяться над фантазёрами из opennet :)

     
     
  • 5.45, Аноним (42), 11:43, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Врачи тоже смеялись, но потом были в ШОКЕ! Чтобы похудеть по методу доктора Попова, достаточно... [открыть полностью]
     
     
  • 6.47, Аноним (23), 13:38, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Мы чаще худеем по методу вахтера Держимордова - получишь банхаммером по кум^W IP, хочешь - не хочешь, а похудеешь.
     
     
  • 7.50, Аноним (50), 17:25, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    НЕВЕРОЯТНО! Существование динамических IP ПОДТВЕРЖДЕНО! Ученые... [Раскрыть полностью]
     
  • 2.32, Аноним (32), 18:37, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Поэтому заходя на сайт ты совершаешь кучу кросс-доменных запросов на счётчики, скрипты и рекламу.
     
     
  • 3.35, Аноним (11), 19:34, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Всё чётко у меня.
     

  • 1.12, Skullnet (?), 11:45, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все уже давно знают, что Ablock Plus - шерето, тем более тормозное шерето. Его ещё не забанили на сайтах с плагинами?
     
     
  • 2.22, Levon77 (?), 14:22, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    а есть вменяемые альтернативы кроме упомянутого уБлока?
     
     
  • 3.30, Урри (?), 18:09, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению - нету. Хоть бери и сами пиши.

    Хотя стоп - зачем писать, если уже есть uBlock?

     

  • 1.18, Аноним (37), 12:47, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Для тех, кто пеняет на зеркало^W uBlock, повторюсь:
    https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=show_thread&om=1170
    Он может всё.
     
  • 1.20, Аноним (20), 13:33, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    Помнится автра uBlock Origin называли параноиком после отказа добавить rewrite. В конеченом счёте он оказаля прав.
     
  • 1.27, Аноним (27), 16:32, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >например, при подключении сторонних наборов правил

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

     
     
  • 2.31, Аноним (31), 18:10, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В новости же написали: лохи, до сих пор сидящие на ABP, сторонние подписки не осилили.
     

  • 1.36, Retrosharer (?), 19:37, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    uBlock origin лучший. Благодарю.
     
     
  • 2.40, Аноним (40), 05:34, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ...после adguard
     
     
  • 3.41, Аноним (41), 08:08, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ...после adguard

    Да, после него идет adguard

     
     
  • 4.49, Аноним42 (?), 16:37, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, AdGuard всё же решение совсем другого уровня, чем написанные на коленках бесплатные блокировщики. :) Один только антитрекинг функционал в нём на голову выше с чисткой referer, вырезанием из url utm мусора, блокировкой различного api, автоудалением сторонних cookie и отслеживающего cache содержимого, сокрытием user agent и блокировкой X-Client-Data и т.д. + мощный антифишинг и антимайнер + 1 приложение для всех браузеров и веб клиентов разом + удобные настройки и редактирование фильтров.
     

  • 1.39, Корец (?), 23:50, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Во всём следует винить тех, кто размещает рекламу. От неё и лишний траффик и лишняя нагрузка на систему... и дополнительные уязвимости.
     
  • 1.46, Влад (??), 13:12, 17/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    о дааа. материал дизайн в комментариях

    Простите за Оффтоп

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру