ใช้ประโยชน์จากตัวกรอง Adblock Plus เพื่อเรียกใช้รหัสที่ค้นพบโดยพลการ

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

ส่วนขยายส่วนใหญ่รองรับรายการที่กำหนดเองและตัวกรองแต่ละรายการ ผู้ใช้สามารถโหลดรายการที่กำหนดเองในส่วนขยายส่วนใหญ่และเพิ่มตัวกรองของตัวเองลงในรายการได้เช่นกัน

ปรับปรุง : Eyeo GMHB ประกาศในวันนี้ว่าจะลบฟังก์ชัน $ rewrite ไปข้างหน้า คาดว่าจะมีรุ่นใหม่ในไม่ช้าซึ่งจะลบออกจากส่วนขยาย ปลาย

นักวิจัยด้านความปลอดภัย Armin Sebastian ค้นพบช่องโหว่ใน adblockers บางตัวเช่น Adblock Plus ที่สามารถใช้เพื่อเรียกใช้รหัสที่เป็นอันตรายบนไซต์ที่เข้าชมในเบราว์เซอร์

ช่องโหว่นี้ใช้ตัวเลือกตัวกรองที่เรียกว่า $ rewrite ซึ่ง Adblock Plus รองรับเพื่อฉีดรหัสตามอำเภอใจในหน้าเว็บ ตัวกรอง $ เขียนใหม่ใช้เพื่อแทนที่รหัสบนไซต์โดยเขียนใหม่ ตัวเลือกตัวกรองจะ จำกัด การดำเนินการ มันถูกออกแบบมาเพื่อโหลดเนื้อหาจากแหล่งบุคคลที่หนึ่งไม่ใช่ไซต์หรือเซิร์ฟเวอร์ของบุคคลที่สามและไม่อนุญาตให้มีการร้องขอบางอย่างเช่นสคริปต์หรือวัตถุ

เซบาสเตียนค้นพบช่องโหว่ใน $ rewrite ที่ผู้โจมตีอาจใช้ประโยชน์จากการโหลดเนื้อหาจากสถานที่ห่างไกล เงื่อนไขที่จะต้องพบคือ:

  1. จำเป็นต้องโหลดสตริง JavaScript โดยใช้ XMLHttpRequest หรือ Fetch และต้องส่งคืนรหัส
  2. ต้นกำเนิดไม่สามารถถูก จำกัด บนหน้าเว็บได้เช่นโดยใช้คำสั่งนโยบายความปลอดภัยเนื้อหาและ URL คำขอสุดท้ายไม่สามารถตรวจสอบได้ก่อนดำเนินการ
  3. ที่มาของรหัสต้องมีการเปลี่ยนเส้นทางแบบเปิดฝั่งเซิร์ฟเวอร์หรือต้องโฮสต์เนื้อหาผู้ใช้เอง

คุณสมบัติที่ตรงกับข้อกำหนดทั้งสามนี้ ได้แก่ Google Maps, Gmail หรือ Google Images หลักฐานของแนวคิดถูกเผยแพร่บนเว็บไซต์ของผู้เขียนและคุณสามารถลองบน Google Maps เพื่อตรวจสอบว่ามันใช้งานได้

ฉันลองใช้ประโยชน์จาก Chrome และ Firefox และไม่สามารถใช้งานได้ Lawrence Abrams จัดการเรื่อง Bleeping Computer เพื่อให้มันทำงานได้

ปิดคำ

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

ตัวเลือกที่สองดูเหมือนว่ามีแนวโน้มมากขึ้นโดยเฉพาะในกรณีที่ผู้ใช้โหลดรายการอื่น ๆ ในส่วนขยาย ไม่ใช่ครั้งแรกที่รายการมีการจัดการ แต่จะไม่เกิดขึ้นบ่อยนัก

ส่วนขยาย uBlock Origin ไม่ได้รับผลกระทบจากปัญหาเนื่องจากไม่รองรับ $ rewrite