Adblock Plus filtar iskorištava za pokretanje otkrivenog proizvoljnog koda

Većina blokatora sadržaja koristi i učitava popise filtra koji uključuju upute za blokiranje ili promjenu određenog sadržaja na posjećenim web mjestima u web-pregledniku; to se radi kako bi se osiguralo da zadane konfiguracije blokiraju dobar dio neželjenog sadržaja.

Većina proširenja podržavaju prilagođene popise i pojedinačne filtre. Korisnici mogu učitati prilagođene popise u većini proširenja i na popis dodati i svoje filtre.

Ažuriranje : Eyeo GMHB objavio je danas da će ukloniti $ rewrite funkciju koja ide prema naprijed. Očekujte uskoro novo izdanje koje uklanja ako ne iz proširenja. Kraj

Sigurnosni istraživač Armin Sebastian otkrio je iskorištavanje u nekim adblockerima kao što je Adblock Plus koji se mogao koristiti za pokretanje zlonamjernog koda na web lokacijama posjećenim u pregledniku.

U iskorištavanju se koristi opcija filtra pod nazivom $ rewrite koju Adblock Plus podržava za ubrizgavanje proizvoljnog koda u web stranice. $ Rewrite filtar koristi se za zamjenu koda na web lokacijama ponovnim prepisivanjem. Opcija filtra ograničava rad; osmišljen je za učitavanje sadržaja samo iz izvora prvog izvora, a ne s web mjesta ili poslužitelja treće strane, a neki zahtjevi, npr. skripta ili objekt, također nisu dopušteni.

Sebastian je otkrio ranjivost u $ rewrite koju napadači mogu iskoristiti za učitavanje sadržaja s udaljenih lokacija. Uvjeti koje je potrebno ispuniti su:

  1. JavaScript niz mora biti učitan pomoću XMLHttpRequest ili Dohvati, a povratni kôd mora biti izveden.
  2. Podrijetlo se ne može ograničiti na stranici, npr., Korištenjem smjernica Politike sigurnosti sadržaja, a konačni URL zahtjeva ne može se potvrditi prije izvršenja.
  3. Podrijetlo koda mora imati otvoreno preusmjeravanje na strani poslužitelja ili mora sadržavati proizvoljni korisnički sadržaj.

Svojstva koja odgovaraju sva tri zahtjeva uključuju Google Maps, Gmail ili Google Images između ostalih. Dokaz koncepta objavljen je na autorovoj web stranici i možete ga isprobati na Google kartama kako biste provjerili radi li.

Pokušao sam s iskorištavanjem u Chromeu i Firefoxu, i nisam uspio uspjeti. Lawrence Abrams iz Bleeping Computer ipak je uspio natjerati njega da radi.

Završne riječi

Napad ima još jedan zahtjev, jer se oslanja na filtre. Na popis filtara koje koristi blokator sadržaja treba dodati manipulirani filtar. Dvije najčešće opcije uključuju korisnike koji ručno dodaju filtre u svoje blokade sadržaja ili da se manipulirani filtar nalazi na popisu filtera koji se učitava.

Druga opcija se čini vjerojatnijom, posebno u slučajevima kada su korisnici učitavali druge popise u proširenjima. Nije prvi put da se popisima manipulira, ali to se ne događa često.

Problem ne utječe na porijeklo uBlock-a Proširenje jer ne podržava $ rewrite.