ตัวบล็อกเนื้อหาส่วนใหญ่ใช้และโหลดรายการตัวกรองที่มีคำแนะนำในการบล็อกหรือเปลี่ยนแปลงเนื้อหาบางอย่างบนไซต์ที่เยี่ยมชมในเว็บเบราว์เซอร์ตามค่าเริ่มต้น สิ่งนี้ทำเพื่อให้แน่ใจว่าการกำหนดค่าเริ่มต้นจะบล็อกเนื้อหาที่ไม่พึงประสงค์จำนวนมากทันที
ส่วนขยายส่วนใหญ่รองรับรายการที่กำหนดเองและตัวกรองแต่ละรายการ ผู้ใช้สามารถโหลดรายการที่กำหนดเองในส่วนขยายส่วนใหญ่และเพิ่มตัวกรองของตัวเองลงในรายการได้เช่นกัน
ปรับปรุง : Eyeo GMHB ประกาศในวันนี้ว่าจะลบฟังก์ชัน $ rewrite ไปข้างหน้า คาดว่าจะมีรุ่นใหม่ในไม่ช้าซึ่งจะลบออกจากส่วนขยาย ปลาย
นักวิจัยด้านความปลอดภัย Armin Sebastian ค้นพบช่องโหว่ใน adblockers บางตัวเช่น Adblock Plus ที่สามารถใช้เพื่อเรียกใช้รหัสที่เป็นอันตรายบนไซต์ที่เข้าชมในเบราว์เซอร์
ช่องโหว่นี้ใช้ตัวเลือกตัวกรองที่เรียกว่า $ rewrite ซึ่ง Adblock Plus รองรับเพื่อฉีดรหัสตามอำเภอใจในหน้าเว็บ ตัวกรอง $ เขียนใหม่ใช้เพื่อแทนที่รหัสบนไซต์โดยเขียนใหม่ ตัวเลือกตัวกรองจะ จำกัด การดำเนินการ มันถูกออกแบบมาเพื่อโหลดเนื้อหาจากแหล่งบุคคลที่หนึ่งไม่ใช่ไซต์หรือเซิร์ฟเวอร์ของบุคคลที่สามและไม่อนุญาตให้มีการร้องขอบางอย่างเช่นสคริปต์หรือวัตถุ
เซบาสเตียนค้นพบช่องโหว่ใน $ rewrite ที่ผู้โจมตีอาจใช้ประโยชน์จากการโหลดเนื้อหาจากสถานที่ห่างไกล เงื่อนไขที่จะต้องพบคือ:
- จำเป็นต้องโหลดสตริง JavaScript โดยใช้ XMLHttpRequest หรือ Fetch และต้องส่งคืนรหัส
- ต้นกำเนิดไม่สามารถถูก จำกัด บนหน้าเว็บได้เช่นโดยใช้คำสั่งนโยบายความปลอดภัยเนื้อหาและ URL คำขอสุดท้ายไม่สามารถตรวจสอบได้ก่อนดำเนินการ
- ที่มาของรหัสต้องมีการเปลี่ยนเส้นทางแบบเปิดฝั่งเซิร์ฟเวอร์หรือต้องโฮสต์เนื้อหาผู้ใช้เอง
คุณสมบัติที่ตรงกับข้อกำหนดทั้งสามนี้ ได้แก่ Google Maps, Gmail หรือ Google Images หลักฐานของแนวคิดถูกเผยแพร่บนเว็บไซต์ของผู้เขียนและคุณสามารถลองบน Google Maps เพื่อตรวจสอบว่ามันใช้งานได้
ฉันลองใช้ประโยชน์จาก Chrome และ Firefox และไม่สามารถใช้งานได้ Lawrence Abrams จัดการเรื่อง Bleeping Computer เพื่อให้มันทำงานได้
ปิดคำ
การโจมตีมีข้อกำหนดอื่นเนื่องจากมันขึ้นอยู่กับตัวกรอง ต้องเพิ่มตัวกรองที่ถูกจัดการในรายการตัวกรองที่ใช้โดยตัวบล็อกเนื้อหา ตัวเลือกที่พบบ่อยที่สุดสองตัวเลือก ได้แก่ ผู้ใช้ที่เพิ่มตัวกรองลงในตัวบล็อกเนื้อหาหรือด้วยตนเองว่าตัวกรองที่จัดการนั้นอยู่ในรายการตัวกรองที่โหลดแล้ว
ตัวเลือกที่สองดูเหมือนว่ามีแนวโน้มมากขึ้นโดยเฉพาะในกรณีที่ผู้ใช้โหลดรายการอื่น ๆ ในส่วนขยาย ไม่ใช่ครั้งแรกที่รายการมีการจัดการ แต่จะไม่เกิดขึ้นบ่อยนัก
ส่วนขยาย uBlock Origin ไม่ได้รับผลกระทบจากปัญหาเนื่องจากไม่รองรับ $ rewrite