Kerentanan dalam senarai Adblock Plus membolehkan kod jahat dijalankan

pelayar

Baru-baru ini kelemahan telah dijumpai yang membolehkan penyelenggara menyekat senarai penapis untuk pelanjutan penyemak imbas Adblock Plus, AdBlock dan uBlocker untuk membuat penapis yang menyuntik skrip jauh ke laman web.

Dengan pangkalan pengguna yang telah melepasi 10 juta tanda, jika skrip jahat disuntikkan ke penyekat iklan, ini akan memberi kesan yang besar Kerana mereka boleh melakukan aktiviti yang tidak diingini, seperti pencurian kuki, maklumat sambungan, menyebabkan pengalihan halaman atau tingkah laku yang tidak diingini.

Bagi mereka yang tidak biasa dengan penyekat iklan, pada dasarnya mereka menggunakan senarai URL berkaitan dengan iklan dan tingkah laku berniat jahat.

Biasanya, Mereka dikendalikan oleh sekumpulan kecil orang atau bahkan satu orang.

Apabila senarai ini dimuat dengan ekstensi pencekalan iklan seperti Adblock Plus, pelanjutan ini akan menghalang penyemak imbas menyambung ke URL yang dimasukkan ke dalam senarai dan dengan demikian ini menghalang penyambungan ke iklan atau skrip berbahaya.

Pilihan penapis $ rewrite menyebabkan masalah

Apabila AdblockerPlus 3.2 dilancarkan pada tahun 2018, ia menambah pilihan senarai penapis baru, yang dipanggil $ rewrite.

Pilihan ini dibenarkan kepada penyelenggara senarai ganti permintaan web yang sepadan dengan ungkapan biasa khususnya dengan URL lain.

Hubert Figuiere, yang memperkenalkan fungsi ini, menjelaskan bahawa:

"Sejak Adblock Plus 3.2 untuk Chrome, Firefox, dan Opera (dan versi pengembangan 3.1.0.2053), pilihan penapis $ rewrite baru membolehkan anda menulis semula URL sumber dan bukannya menyekatnya.

Apabila Adblock Plus memberikan URL permintaan ke penapis dengan pilihan $ rewrite, ia mengubah URL berdasarkan peraturan yang disediakan dan menyuruh penyemak imbas memuat sumber pada masa yang sama.

Sintaks peraturan $ menulis semula menentukan rentetan yang berfungsi sebagai templat untuk URL baru.

$ n digantikan oleh sub-padanan ungkapan biasa penyaring. Ini adalah sintaks yang sama dengan fungsi JavaScript String.prototype.replace ().

Sekiranya URL yang dihasilkan adalah relatif (iaitu anda tidak mempunyai hos), asal pertanyaan asal akan digunakan sebagai asas. Dalam mana-mana keadaan, jika URL baru tidak berkongsi asal, penulisan semula akan dianggap tidak berjaya dan permintaan awal akan berlalu.

Juga, penapis $ rewrite tidak diambil kira untuk pertanyaan SCRIPT, SUBDOCUMENT, OBJECT dan OBJECT_SUBREQUEST untuk keselamatan. Pilihan ini sesuai untuk mengubah atau menghilangkan parameter pertanyaan ».

Satu-satunya kelemahan adalah bahawa string pengganti mestilah URL relatif, yang bermaksud bahawa ia tidak mengandungi nama host dan, apabila ditulis semula, ia mesti milik domain asal yang sama dengan permintaan.

Pelaksanaan kod bahkan dilakukan di peta google

Seorang penyelidik keselamatan menjelaskan bahawa:

Dalam keadaan tertentu, mungkin penyimpan penapis jahat yang tidak sah membuat peraturan yang menyuntik skrip jauh ke laman web tertentu.

Untuk melakukan ini, cari sahaja laman web yang memuatkan skrip dari mana-mana domain yang mengandungi pengalihan terbuka dan gunakan XMLHttpRequest atau Fetch untuk memuat turun skrip untuk dijalankan.

Tidak sukar untuk dijumpai kerana untuk melakukan ini sahaja hanya gunakan Peta Google sebagai bukti konsep.

Pengkaji menjelaskan bahawa kriteria berikut mesti dipenuhi supaya perkhidmatan web dapat dimanfaatkan dengan kaedah ini:

  • Halaman mesti memuat rentetan JS menggunakan XMLHttpRequest atau Fetch dan melaksanakan kod pengembalian.
  • Halaman tidak boleh menyekat sumber dari mana ia dapat diambil menggunakan panduan dasar keselamatan kandungan, atau mengesahkan URL permintaan akhir sebelum menjalankan kod yang dimuat turun.
  • Sumber kod yang diambil mesti mempunyai pengalihan sisi pelayan terbuka atau kandungan pengguna sewenang-wenangnya dari host.

Menggunakan XMLHttpRequest atau Fetch untuk memuat turun skrip dan membuka pengalihan adalah dua kunci masalah.

Untuk mengurangkan masalah ini, disarankan agar laman web menggunakan pilihan tajuk keselamatan kandungan dan pilihan connect-src untuk menentukan senarai putih laman web dari mana skrip boleh dimuat.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.