ช่องโหว่ Adblock Plus ทำให้โค้ดของบุคคลที่สามทำงานได้

เมื่อเร็ว ๆ นี้ มีการค้นพบว่า ตัวบล็อกโฆษณายอดนิยม«Adblock Plus »มีช่องโหว่ที่อนุญาตให้จัดระเบียบการเรียกใช้โค้ด JavaScript บนไซต์ในกรณีที่ใช้ตัวกรองที่ยังไม่ผ่านการทดสอบซึ่งจัดทำโดยบุคคลที่สาม ด้วยเจตนาร้าย (ตัวอย่างเช่นโดยการเชื่อมต่อชุดกฎของบุคคลที่สามหรือโดยการแทนที่กฎระหว่างการโจมตี MITM)

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

การเรียกใช้โค้ดนี้เป็นไปได้อย่างไร?

คำประกาศของ $ rewrite ไม่อนุญาตให้แทนที่โฮสต์ ใน url แต่เปิดโอกาสให้จัดการกับข้อโต้แย้งได้อย่างอิสระ ของคำขอ

อย่างไรก็ตาม การเรียกใช้โค้ดสามารถทำได้ บางไซต์เช่น Google Maps, Gmail และ Google Images, พวกเขาใช้เทคนิคการโหลดบล็อก JavaScript แบบไดนามิกที่ส่งในรูปแบบของข้อความธรรมดา

หากเซิร์ฟเวอร์อนุญาตให้เปลี่ยนเส้นทางคำขอก็สามารถส่งต่อไปยังโฮสต์อื่นได้โดยการเปลี่ยนพารามิเตอร์ของ URL (ตัวอย่างเช่นในบริบทของ Google การเปลี่ยนเส้นทางสามารถทำได้ผ่าน API » google.com/search «) .

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

วิธีการของ การโจมตีที่เสนอจะส่งผลเฉพาะเพจที่โหลดสตริงด้วยโค้ด JavaScript แบบไดนามิก (ตัวอย่างเช่นผ่าน XMLHttpRequest หรือ Fetch) แล้วเรียกใช้

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

อย่างไรก็ตาม เป็นการแสดงให้เห็นถึงความเกี่ยวข้องของการโจมตีจะแสดงวิธีจัดระเบียบการเรียกใช้โค้ดของคุณโดยเปิด maps.google.com โดยใช้การเปลี่ยนเส้นทางผ่าน "google.com/search"

ในความเป็นจริงการร้องขอเพื่อใช้ XMLHttpRequest หรือ Fetch เพื่อดาวน์โหลดสคริปต์ระยะไกลเพื่อเรียกใช้จะไม่ล้มเหลวเมื่อใช้ตัวเลือก $ เขียนซ้ำ

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

พวกเขากำลังดำเนินการแก้ไขปัญหาอยู่แล้ว

การแก้ปัญหายังอยู่ในการเตรียมการ ปัญหานี้ยังส่งผลกระทบต่อตัวบล็อก AdBlock และ uBlock uBlock Origin Blocker ไม่หวั่นไหวต่อปัญหาเนื่องจากไม่รองรับตัวดำเนินการ» $ rewrite »

มีอยู่ช่วงหนึ่งผู้เขียน uBlock Origin ปฏิเสธที่จะเพิ่มการสนับสนุน $ rewrite โดยอ้างถึงปัญหาด้านความปลอดภัยที่เป็นไปได้และข้อ จำกัด ระดับโฮสต์ที่ไม่เพียงพอ (แทนที่จะเขียนใหม่ตัวเลือก querystrip ถูกเสนอให้ล้างพารามิเตอร์การค้นหาแทนการแทนที่)

เป็นความรับผิดชอบของเราในการปกป้องผู้ใช้ของเรา

แม้จะมีความเสี่ยงต่ำมาก แต่เราก็ตัดสินใจที่จะลบตัวเลือก $ rewrite ออก ดังนั้นเราจะเผยแพร่ Adblock Plus เวอร์ชันอัปเดตโดยเร็วที่สุดในทางเทคนิค

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

ซึ่งหมายความว่าไม่มีภัยคุกคามต่อผู้ใช้ Adblock Plus ใด ๆ

Dนักพัฒนา Adblock Plus มองว่าการโจมตีจริงไม่น่าจะเกิดขึ้นได้เนื่องจากการเปลี่ยนแปลงทั้งหมดในรายการกฎทั่วไปจะได้รับการตรวจสอบและการเชื่อมต่อกับรายการของบุคคลที่สามนั้นได้รับการฝึกฝนโดยผู้ใช้น้อยมาก

การแทนที่กฎผ่าน MITM จะลบการใช้ HTTPS ตามค่าเริ่มต้น เพื่อโหลดรายการบล็อกปกติ (สำหรับรายการที่เหลือมีการวางแผนที่จะห้ามการดาวน์โหลด HTTP ในรุ่นอนาคต)

เพื่อป้องกันการโจมตีทางฝั่งไซต์ สามารถใช้คำสั่ง CSP ได้ (นโยบายความปลอดภัยของเนื้อหา) ซึ่งคุณสามารถระบุโฮสต์ที่จะโหลดทรัพยากรภายนอกได้อย่างชัดเจน

Fuente: https://adblockplus.org, https://armin.dev


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา