Kerentanan dalam Adblock Plus yang membenarkan pelaksanaan kod apabila menggunakan penapis yang boleh dipersoalkan

Dalam penyekat iklan Adblock Plus dikenalpasti kelemahan, membenarkan mengatur pelaksanaan kod JavaScript dalam konteks tapak, dalam hal menggunakan penapis tidak disahkan yang disediakan oleh penyerang (contohnya, apabila menyambungkan set peraturan pihak ketiga atau melalui penggantian peraturan semasa serangan MITM).

Pengarang senarai dengan set penapis boleh mengatur pelaksanaan kod mereka dalam konteks tapak yang dibuka oleh pengguna dengan menambahkan peraturan dengan operator "menulis semula", yang membolehkan anda menggantikan sebahagian daripada URL. Operator tulis semula tidak membenarkan anda menggantikan hos dalam URL, tetapi ia membenarkan anda memanipulasi hujah permintaan secara bebas. Hanya teks boleh digunakan sebagai topeng gantian dan penggantian skrip, objek dan teg subdokumen dibenarkan disekat.

Walau bagaimanapun, pelaksanaan kod boleh dicapai dalam penyelesaian.
Sesetengah tapak, termasuk Peta Google, Gmail dan Imej Google, menggunakan teknik memuatkan blok JavaScript boleh laku secara dinamik, dihantar dalam bentuk teks kosong. Jika pelayan membenarkan ubah hala permintaan, maka penghantaran semula ke hos lain boleh dicapai dengan menukar parameter URL (contohnya, dalam konteks Google, ubah hala boleh dibuat melalui API "google.com/search"). Selain hos yang membenarkan pengalihan, serangan juga boleh dilakukan terhadap perkhidmatan yang membenarkan penyiaran kandungan pengguna (penghosan kod, platform penyiaran artikel, dll.).

Kaedah serangan yang dicadangkan hanya mempengaruhi halaman yang memuatkan rentetan kod JavaScript secara dinamik (contohnya, melalui XMLHttpRequest atau Ambil) dan kemudian melaksanakannya. Satu lagi had penting ialah keperluan untuk menggunakan ubah hala atau meletakkan data sewenang-wenangnya di sisi pelayan asal yang mengeluarkan sumber. Walau bagaimanapun, untuk menunjukkan kaitan serangan itu, ia ditunjukkan cara untuk mengatur pelaksanaan kod anda apabila membuka maps.google.com, menggunakan ubah hala melalui "google.com/search".

Pembaikan masih dalam persiapan. Masalahnya juga memberi kesan kepada penyekat AdBlock ΠΈ uBlock. Penyekat uBlock Origin tidak terjejas oleh masalah, kerana ia tidak menyokong pengendali "tulis semula". Pada satu ketika pengarang uBlock Origin
menolak tambah sokongan untuk menulis semula, memetik isu keselamatan yang berpotensi dan sekatan peringkat hos yang tidak mencukupi (pilihan jalur pertanyaan telah dicadangkan dan bukannya menulis semula untuk membersihkan parameter pertanyaan dan bukannya menggantikannya).

Pembangun Adblock Plus menganggap serangan sebenar adalah tidak mungkin, kerana semua perubahan pada senarai standard peraturan disemak, dan penyambungan senarai pihak ketiga amat jarang berlaku dalam kalangan pengguna. Penggantian peraturan melalui MITM dihalang oleh penggunaan lalai HTTPS untuk memuat turun senarai blok standard (untuk senarai lain, ia dirancang untuk melarang muat turun melalui HTTP dalam keluaran akan datang). Arahan boleh digunakan untuk menyekat serangan di bahagian tapak CSP (Dasar Keselamatan Kandungan), yang melaluinya anda boleh menentukan dengan jelas hos dari mana sumber luaran boleh dimuatkan.

Sumber: opennet.ru

Tambah komen