Запретить загрузку спама в Safari


8

Фон

Новая страница со спамом стала появляться на многих «сомнительных» сайтах (на сайтах с фильмами и т. Д.). Эта новая страница со спамом подходит для категории поддельных сканов, MacKeeper, категории «У тебя есть вирус» и т. Д.

проблема

Проблема с этой новой страницей состоит в том, что вместо всплывающего окна страница фактически инициирует загрузку случайных файлов размером 2 КБ (не содержит вредных файлов, содержит только случайный текст) несколько раз каждые ~ 1 мс. Папка загрузки заполняется, прежде чем вы можете закрыть окно, и вам осталось удалить более 1000 файлов. В отличие от аналогичной проблемы, в которой спам на странице вызывает диалог печати, у него очень мало времени для реагирования.

Неудачные попытки устранения неполадок

  • Я попытался заблокировать папку загрузки. Хотя загрузка не позволила ... ну ... загрузить его, появляется диалоговое окно (см. Изображение). Обычно я мог просто закрыть это диалоговое окно, но, поскольку загрузка выполняется каждые ~ 1 мс, каждый раз, когда я пытаюсь его закрыть, появляется новое диалоговое окно, не позволяющее мне закрыть окно.

  • Принудительный выход из Safari, который останавливает загрузку (после загрузок 1k), но затем я теряю все остальные окна

  • Изменение настроек на «Запросить каждую загрузку» в настройках Safari. Не работает, потому что открытые 1k отдельных диалоговых окон мешают мне даже закрыть вкладку. В конечном итоге сбой Safari.

введите описание изображения здесь

введите описание изображения здесь

Вопрос

Как я могу предотвратить загрузку спама в Safari?

ОБНОВИТЬ:

Вот код, вызывающий загрузку (получил его, отключив JavaScript и просмотрев код вручную):

 function download(g, h, j) {
                var k = new Blob([g], {
                        type: j
                });
                if (window.navigator.msSaveOrOpenBlob) window.navigator.msSaveOrOpenBlob(k, h);
                else {
                        var l = document.createElement("a"),
                                m = URL.createObjectURL(k);
                        l.href = m, l.download = h, l.click(), setTimeout(function() {}, 0)
                }
        }
        function bomb_ch() {
                var g = Math.random().toString(36).substring(20),
                        h = Math.floor(50 * Math.random() + 25);
                while (true) download(h, g, g)
        }
        function ch_jam() {
                bomb_ch()
        }

Примечание: у меня были некоторые проблемы с запуском JS на пользовательской странице. Замерло, а не загружено. Я был в состоянии эмулировать загрузку с помощью setInterval()функции, вызывающей downloadфункцию.

Дополнительная информация: https://blog.malwarebytes.com/malwarebytes-news/2018/02/tech-support-scammers-find-new-way-jam-google-chrome/


Комментарии не для расширенного обсуждения; этот разговор был перенесен в чат .
bmike

@JBis Время почти подошло к присуждению награды
Мэтт

@ Мэтт, я получаю еще 24 часа. И я не награждаю ни одного ответа в его нынешнем виде.
JBis

Ответы:


5

Разве это не хороший случай для блокировщика контента Safari / javascript, который является выборочным?

Ghostery может быть хорошим местом для начала на Mac, чтобы посмотреть, можете ли вы использовать предварительно созданные правила для подавления межсайтовых сценариев / внедрения кода в веб-страницы. Конечно, если страница обслуживает этот контент напрямую, вам нужно полностью отключить javascript на этой странице или принять к сведению и просто заблокировать те сайты, которые намеренно портят вам восприятие или из-за того, что вы продаете рекламу кому-либо, у кого есть позволить себе эту панику и мошенничество.

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

Отредактировано @JBis

Следующий пользовательский скрипт успешно заблокировал страницу.

     // ==UserScript==
     // @name         The Bomb Squad
     // @version      0.1
     // @description  Blocks the pages containing any function with the bomb_ch function detailed in /apple/329594/prevent-spam-downloads-on-safari and https://blog.malwarebytes.com/malwarebytes-news/2018/02/tech-support-scammers-find-new-way-jam-google-chrome/
     // @author       Josh Brown (@JBis https://apple.stackexchange.com/users/263848/jbis)
     // @match        *
     // @grant        none

    // ==/UserScript==

   if (typeof bomb_ch === "function") {
     document.getElementsByTagName("body")[0].innerHTML="<h1>Page Defused by The Bomb Squad</h1><p>Because it contatained the following
 function(s):  <pre>bomb_ch()</pre> <br>";
    }

Примечание: Sp (c) аммеры могут легко обойти это путем рандомизации bomb_ch()функции.

Более новые версии Safari для ОС могут помочь немного сократить это, но есть люди, которые доставляют эту кучу дерьма на ваш Mac, чтобы заработать деньги, чтобы они, вероятно, адаптировались к любым технологиям, которые пытаются облегчить блокировку. Если вы не готовы тратить больше денег на поддержку бизнеса, который поддерживает библиотеку настроек, которые могут «бить моль» и адаптироваться быстрее, чем шарлатаны могут приготовить новый код в своей котельной .

Вам также нужно будет решить, являются ли веб-сайты, которые делают это, шарлатанами, которые являются частью мошенничества, поскольку они должны знать, что это происходит с вами, одним из посетителей, которых они принимают.


2
@JBis Tampermonkey работает, если вы устанавливаете его вручную: обход «Safari больше не поддерживает небезопасное расширение» в macOS Mojave
grg

1
@ Grg Grg ( звук ), вам нужно перезапускать каждый браузер, перезапускать :)
JBis

5

Хотя для Safari существует множество способных блокировщиков рекламы, вариантов блокировщика контента с расширенным спектром и расширением гораздо меньше. Из них выделяются только два: Ghostery и uBlockOrigin [ информационная ссылка: https://github.com/gorhill/uBlock ссылка для скачивания: https://safari-extensions.apple.com/?q=ublock%20origin .

РЕДАКТИРОВАТЬ: не путайте происхождение uBlock с очень похожим именем uBlock . Эти два продукта существенно различаются по способностям и репутации.

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

Я случайно узнал, что uBlockOrigin заблокировал этот конкретный эксплойт за месяц до объявления Malwarebytes в вашей ссылке «Подробнее». Я не знаю о графике Ghostery.

Я бы порекомендовал вам дать им обоим испытательный срок.


Пожалуйста , не удаляйте ответ. Тем не менее может помочь другим. Я продолжу тестирование, чтобы увидеть, может ли инструмент блокироваться с помощью пользовательского правила.
JBis

@JBis, если вы хотите создать URL-адрес в чате, который мы можем удалить позже, пингуйте меня там. Вы говорите, что единственный щелчок «отключить все» из призрака не защищает вас от этой функции.
bmike
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.