Evitar descargas de spam en Safari

8

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

    
pregunta JBis 07.07.2018 - 22:24

2 respuestas

5

¿No sería este un buen caso para un bloqueador de contenido de Safari / bloqueador de JavaScript que sea selectivo?

Ghostery puede ser un buen lugar para comenzar en Mac para ver si puedes usar reglas previamente creadas para sofocar las secuencias de comandos entre sitios / Anuncio de inyección de código en páginas web. Por supuesto, si la página presenta ese contenido directamente, deberá deshabilitar el javascript en esa página por completo o tomar nota y simplemente bloquear aquellos sitios que ciegan su experiencia intencionalmente o debido a la venta de la inyección de anuncios a cualquier persona con los medios para pagar este scare ware y scam ware.

Si quisiera ser más preciso, los scripts de usuario de tipo GreaseMonkey podrían combatir esto con suficiente conocimiento de JS de su parte (o encontrar a alguien que haya escrito el script para bloquear la versión actual de este malware).

  

Editado por @JBis

     

El siguiente script de usuario fue exitoso al bloquear 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: Sp (c) ammers puede omitir esto fácilmente al aleatorizar la función bomb_ch() .

Las nuevas versiones del sistema operativo de Safari podrían ayudar a reducir esto un poco, pero las personas que envían esta carga de basura a tu Mac pueden ganar dinero, por lo que es probable que se adapten a cualquier tecnología que intente facilitar el bloqueo. . A menos que esté dispuesto a gastar más dinero en un negocio que mantiene una biblioteca de configuraciones que pueden "golpear a un topo" y adaptarse más rápido que el charlatans pueden preparar un nuevo código en su sala de calderas .

También deberá decidir si los sitios web que hacen esto también son charlatanes que forman parte de la estafa ya que deben saber que esto le está sucediendo a usted, uno de los visitantes que alojan.

    
respondido por el bmike 14.07.2018 - 17:12
5

Si bien hay muchos bloqueadores de anuncios capaces para Safari, hay muchas menos opciones para los bloqueadores de contenido basados en extensiones de amplio espectro. De ellos, solo dos se destacan: Ghostery y uBlockOrigin [ enlace de información: enlace enlace de descarga : enlace .

  

EDITAR: No confunda uBlock Origin con el nombre muy similar uBlock, . Los dos productos son sustancialmente diferentes en   capacidad y reputación.

¿Pueden hacer lo que quieras y evitar que la descarga bombardee a tus amigos? Sí, con la distinción de que Ghostery necesitaría cierta personalización de las reglas donde uBlockOrigin está configurado para hacerlo como predeterminado.

Me he enterado de que uBlockOrigin bloqueó este ataque 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 recomendaría que les des un juicio a ambos.

    
respondido por el Doc G. 14.07.2018 - 22:48

Lea otras preguntas en las etiquetas