Ha comenzado a aparecer una nueva página de spam en muchos sitios "cuestionables" (sitios de películas, etc.). Esta nueva página de spam se encuadra en la categoría de escaneos falsos, MacKeeper, "TIENES UN VIRUS", etc.
El problema con esta nueva página es que en lugar de tener una ventana emergente, la página en realidad inicia una descarga de archivos aleatorios de 2kb (no es dañino, solo contiene texto aleatorio) repetidamente cada ~1 ms. La carpeta de descarga se llena antes de que puedas cerrar la ventana y te quedan eliminando más de 1000 archivos. A diferencia de un problema similar en el que una página de spam muestra el cuadro de diálogo de impresión, hay muy poco tiempo para reaccionar.
Intenté bloquear la carpeta de descarga. Si bien impidió que las descargas... bueno... lo descargaran, aparece un cuadro de diálogo (ver imagen). Por lo general, podría descartar este cuadro de diálogo, pero dado que la descarga se intenta cada ~ 1 ms, aparece un nuevo cuadro de diálogo cada vez que intento descartar, lo que me impide cerrar la ventana.
Forzar el cierre de Safari, lo que detiene la descarga (después de las descargas de 1k) pero luego pierdo todas mis otras ventanas
Cambiar la configuración a 'Preguntar por cada descarga' en las preferencias de Safari. No funciona porque 1k de cuadros de diálogo separados abiertos me impiden incluso cerrar la pestaña. Eventualmente fallando Safari.
¿Cómo puedo evitar las descargas de spam en Safari?
ACTUALIZAR:
Aquí está el código que causa la descarga (lo obtuve al deshabilitar JavaScript y revisar el 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: Tuve algunos problemas al ejecutar el JS en una página personalizada. Se congeló en lugar de descargar. Pude emular la descarga usando una setInterval()
función que llama a la download
función.
Más información: https://blog.malwarebytes.com/malwarebytes-news/2018/02/tech-support-scammers-find-new-way-jam-google-chrome/
¿No sería este un buen caso para un bloqueador de contenido de Safari/bloqueador de javascript que sea selectivo?
Ghostery podría ser un buen lugar para comenzar en la Mac para ver si puede usar reglas preconstruidas para anular las secuencias de comandos entre sitios / la inyección de código en las páginas web. Por supuesto, si la página ofrece ese contenido directamente, deberá deshabilitar javascript en esa página por completo o tomar nota y simplemente bloquear aquellos sitios que arruinan su experiencia intencionalmente o debido a la venta de inyección de anuncios a cualquier persona con los medios para pagar este artículo de miedo y estafa.
Si quisiera ser más preciso, los scripts de usuario tipo GreaseMonkey podrían combatir esto con suficiente conocimiento de JS de su parte (o encontrando a alguien que escribió el script para bloquear la iteración actual de este malware).
Editado por @JBis
El siguiente script de usuario fue exitoso en el bloqueo de la página.
// ==UserScript== // @name The Bomb Squad // @version 0.1 // @description Blocks the pages containing any function with the bomb_ch function detailed in https://apple.stackexchange.com/questions/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>"; }
Nota: los amantes de Sp(c) pueden omitir esto fácilmente al aleatorizar la
bomb_ch()
función.
Las versiones más nuevas del sistema operativo de Safari podrían ayudar a reducir esto un poco, pero las personas que entregan esta carga de basura a su Mac pueden ganar dinero, por lo que es probable que se adapten a cualquier tecnología que intente hacer que sea fácil de bloquear. A menos que esté dispuesto a gastar más dinero apoyando un negocio que mantiene una biblioteca de configuraciones que pueden "golpear a un topo" y adaptarse más rápido de lo que los charlatanes pueden inventar un nuevo código en su sala de calderas .
También tendrá que decidir si los sitios web que hacen esto también son charlatanes que son parte de la estafa , ya que deben saber que esto le está sucediendo a usted, uno de los visitantes que alojan.
Si bien hay muchos bloqueadores de anuncios capaces para Safari, hay muchas menos opciones para bloqueadores de contenido basados en extensiones de espectro más amplio. De ellos, solo dos se destacan: Ghostery y uBlockOrigin [ enlace de información: https://github.com/gorhill/uBlock enlace de descarga: https://safari-extensions.apple.com/?q=ublock%20origin .
EDITAR: No confunda uBlock Origin con el uBlock de nombre muy similar, . Los dos productos son sustancialmente diferentes en capacidad y reputación.
¿Pueden hacer lo que quieras y evitar el bombardeo de descargas que experimentaron tus amigos? Sí, con la distinción de que Ghostery necesitaría algunas reglas personalizadas donde uBlockOrigin está configurado para hacerlo de forma predeterminada.
Sé que uBlockOrigin bloqueó este exploit en particular un mes antes del anuncio de Malwarebytes en su enlace "Más información". No sé sobre la línea de tiempo de Ghostery.
Te recomiendo que les des una oportunidad a ambos.
bmike
Mate
JBis