ป้องกันการดาวน์โหลดสแปมบน Safari


8

พื้นหลัง

หน้าสแปมใหม่เริ่มปรากฏขึ้นทั่วทั้งไซต์ "ที่น่าสงสัย" (เว็บไซต์ภาพยนตร์ ฯลฯ ) หน้าสแปมใหม่นี้เหมาะกับหมวดหมู่ของการสแกนปลอม, MacKeeper, "คุณมีไวรัส" และหมวดหมู่อื่น ๆ

ปัญหา

ปัญหาของหน้าใหม่นี้คือแทนที่จะมีเพียงป๊อปอัปหน้าจริง ๆ แล้วเริ่มการดาวน์โหลดไฟล์ 2kb แบบสุ่ม (ไม่เป็นอันตรายเพียงแค่มีข้อความสุ่ม) ซ้ำ ๆ ทุก ๆ ~ 1ms โฟลเดอร์ดาวน์โหลดจะเต็มก่อนที่คุณจะสามารถปิดหน้าต่างได้และคุณจะถูกลบไฟล์มากกว่า 1,000 ไฟล์ ซึ่งแตกต่างจากปัญหาที่คล้ายกันซึ่งหน้าสแปมปรากฏกล่องโต้ตอบการพิมพ์มีเวลาน้อยมากที่จะตอบสนอง

การแก้ไขปัญหาล้มเหลว

  • ฉันพยายามล็อคโฟลเดอร์ดาวน์โหลด ในขณะที่มันป้องกันการดาวน์โหลดจาก ... ดี ... การดาวน์โหลดมันกล่องโต้ตอบ (ดูภาพ) จะปรากฏขึ้น โดยปกติแล้วฉันสามารถยกเลิกกล่องโต้ตอบนี้ได้ แต่เนื่องจากมีการพยายามดาวน์โหลดทุก ๆ ~ 1 มิลลิวินาทีฉันจึงมีกล่องโต้ตอบใหม่ปรากฏขึ้นทุกครั้งที่ฉันพยายามปิดการทำงานทำให้ไม่สามารถปิดหน้าต่างได้

  • บังคับให้ออกจาก Safari ซึ่งจะหยุดการดาวน์โหลด (หลังจากดาวน์โหลด 1k) แต่หลังจากนั้นฉันก็เปิดหน้าต่างอื่น ๆ ทั้งหมด

  • การเปลี่ยนการตั้งค่าเป็น 'ถามแต่ละการดาวน์โหลด' ในการตั้งค่า Safari ใช้งานไม่ได้เนื่องจากกล่องโต้ตอบแยก 1k เปิดป้องกันไม่ให้ฉันปิดแท็บได้ หยุดทำงาน Safari ในที่สุด

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

คำถาม

ฉันจะป้องกันการดาวน์โหลดสแปมใน Safari ได้อย่างไร

UPDATE:

เป็นรหัสที่ทำให้เกิดการดาวน์โหลด (โดยการปิดการใช้งาน JavaScript และค้นหารหัสด้วยตนเอง):

 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()
        }

หมายเหตุ:ฉันมีปัญหาในการใช้งาน JS ในหน้ากำหนดเอง มันแข็งแทนที่จะดาวน์โหลด ฉันสามารถจำลองการดาวน์โหลดโดยใช้setInterval()ฟังก์ชันเรียกใช้downloadฟังก์ชัน

ข้อมูลเพิ่มเติม: https://blog.malwarebytes.com/malwarebytes-news/2018/02/tech-support-scammers-find-new-way-jam-google-chrome/


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
bmike

@JBis เวลาใกล้จะถึงเวลารับรางวัล
Matt

@Matt ฉันได้รับอีก 24 ชั่วโมง และฉันไม่ได้ให้คำตอบใด ๆ ในรูปแบบปัจจุบัน
JBis

คำตอบ:


5

สิ่งนี้จะไม่เป็นกรณีที่ดีสำหรับตัวบล็อกเนื้อหา Safari / javascript blocker ที่เลือกใช่ไหม

Ghosteryอาจเป็นจุดเริ่มต้นที่ดีใน Mac เพื่อดูว่าคุณสามารถใช้กฎที่สร้างไว้ล่วงหน้าเพื่อกำจัดการเขียนสคริปต์ข้ามไซต์ / การฉีดโค้ดลงในหน้าเว็บหรือไม่ แน่นอนหากหน้าเว็บแสดงเนื้อหานั้นโดยตรงคุณจะต้องปิดการใช้งานจาวาสคริปต์ในหน้านั้นทั้งหมดหรือรับทราบและเพียงปิดกั้นเว็บไซต์เหล่านั้นที่ทำให้ประสบการณ์ของคุณโดยเจตนาหรือเกิดจากการขายโฆษณาให้กับทุกคนด้วยวิธีการ จ่ายเครื่องตกใจและเครื่องหลอกลวงนี้

หากคุณต้องการความแม่นยำมากขึ้น - ผู้ใช้ประเภท GreaseMonkey สามารถต่อสู้กับสิ่งนี้ได้ด้วยความรู้เกี่ยวกับ JS ที่เพียงพอในส่วนของคุณ

แก้ไขโดย @JBis

userscript ต่อไปนี้ประสบความสำเร็จในการบล็อกหน้า

     // ==UserScript==
     // @name         The Bomb Squad
     // @version      0.1
     // @description  Blocks the pages containing any function with the bomb_ch function detailed in /apple/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>";
    }

หมายเหตุ: แอมป์ Sp (c) สามารถข้ามสิ่งนี้ได้อย่างง่ายดายโดยการสุ่มbomb_ch()ฟังก์ชั่น

Safari เวอร์ชันใหม่กว่าของ OS อาจช่วยลดสิ่งนี้ลงได้เล็กน้อย แต่มีคนทำเงินที่ส่งอึโหลดนี้ให้ Mac ของคุณดังนั้นพวกเขาจะปรับตัวเข้ากับเทคโนโลยีใด ๆ ที่พยายามทำให้ง่ายต่อการบล็อก ยกเว้นกรณีที่คุณเต็มใจที่จะจ่ายเงินมากขึ้นสนับสนุนธุรกิจที่จะดูแลรักษาห้องสมุดการตั้งค่าที่สามารถ "ตีตุ่น" และปรับได้เร็วขึ้นเป็นกว่ากระจอกงอกง่อยสามารถปรุงขึ้นใหม่ในรหัสของพวกเขาห้องหม้อไอน้ำ

คุณจะต้องตัดสินใจด้วยว่าเว็บไซต์ที่ทำเช่นนี้เป็นคนหลอกลวงหรือไม่เพราะพวกเขาควรรู้ว่าสิ่งนี้กำลังเกิดขึ้นกับคุณซึ่งเป็นหนึ่งในผู้เข้าชมที่โฮสต์


2
@JBis Tampermonkey ใช้งานได้หากคุณติดตั้งด้วยตนเอง: บายพาส 'Safari ไม่สนับสนุนส่วนขยายที่ไม่ปลอดภัย' ใน macOS Mojave
grg

1
@grg Grg ( เสียง ) คุณต้อง re-run ทุกเบราว์เซอร์เริ่มต้นใหม่ :)
JBis

5

แม้ว่าจะมีตัวบล็อคโฆษณาที่มีความสามารถมากมายสำหรับ Safari แต่ก็มีตัวเลือกน้อยลงสำหรับตัวบล็อกเนื้อหาที่ขยายตามสเปกตรัมที่กว้างขึ้น ของคนเหล่านั้นเพียงสองโดดเด่น: Ghostery และ uBlockOrigin [ การเชื่อมโยงข้อมูล: https://github.com/gorhill/uBlock ลิงค์ดาวน์โหลด: https://safari-extensions.apple.com/?q=ublock%20origin

แก้ไข: อย่าสับสน uBlock Origin ด้วย uBlock ที่มีชื่อคล้ายกันมาก, . ผลิตภัณฑ์ทั้งสองแตกต่างกันอย่างมากในความสามารถและชื่อเสียง

พวกเขาสามารถทำสิ่งที่คุณต้องการและป้องกันไม่ให้ดาวน์โหลดระเบิดเพื่อนของคุณประสบ? ใช่ด้วยความแตกต่างที่ Ghostery จะต้องมีการปรับแต่งกฎบางอย่างที่ uBlockOrigin ถูกตั้งค่าให้เป็นค่าเริ่มต้น

ฉันรู้ว่า uBlockOrigin ปิดกั้นช่องโหว่นี้โดยเฉพาะหนึ่งเดือนก่อนที่ Malwarebytes จะประกาศในลิงก์ "ข้อมูลเพิ่มเติม" ของคุณ ฉันไม่รู้เกี่ยวกับไทม์ไลน์ของ Ghostery

ฉันขอแนะนำให้คุณทดลองใช้ทั้งสองชุด


โปรดอย่าลบคำตอบ ยังอาจช่วยคนอื่นได้ ฉันจะทำการทดสอบต่อไปเพื่อดูว่าเครื่องมือสามารถบล็อกด้วยกฎที่กำหนดเองได้หรือไม่
JBis

@JBis ถ้าคุณต้องการเพิ่ม URL ในการแชทที่เราสามารถลบได้ในภายหลังส่ง Ping ไปที่นั่น คุณกำลังบอกว่าคลิกเดียว“ ปิดการใช้งานทั้งหมด” จาก ghostery ไม่ได้ปกป้องคุณจากฟังก์ชั่นนี้
bmike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.