Ranjivost na listama Adblock Plus omogućava izvršavanje zlonamjerskog koda

preglednik

Nedavno otkrivena je ranjivost što bi moglo omogućiti održavačima da blokiraju liste filtera za proširenja Adblock Plus, AdBlock i uBlocker za stvaranje filtara koji ubrizgavaju udaljene skripte u web lokacije.

Sa bazom korisnika koja je prešla granicu od 10 miliona, ako bi se zlonamjerne skripte ubrizgale u blokatore oglasa, to bi imalo značajan utjecaj jer bi mogli provoditi neželjene aktivnosti, poput krađe kolačića, podataka o vezi, uzrokujući preusmjeravanja stranica ili drugo neželjeno ponašanje.

Za one koji nisu upoznati s blokerima oglasa, oni u osnovi koriste popise URL-ova vezano za zlonamjerne oglase i ponašanje.

Obično, Njima upravlja mali tim ljudi ili čak jedna osoba.

Kada su ove liste učitane s proširenjem za blokiranje oglasa, kao što je Adblock Plus, ovo proširenje će spriječiti preglednik da se poveže s URL-ovima koji su stavljeni na popis, a samim tim ovo sprečava povezivanje sa zlonamjernim oglasima ili skriptama.

Problem uzrokuje opcija $ rewrite filter

Kada AdblockerPlus 3.2 lansiran 2018. godine, it dodao novu opciju liste filtara, nazvanu $ rewrite.

Ova opcija dozvoljeno održavaču liste zamijenite web zahtjev koji se podudara s regularnim izrazom posebno s drugim URL-om.

Hubert Figuiere, koji su uveli ovu funkciju, objasnio da:

„Od Adblock Plus 3.2 za Chrome, Firefox i Opera (i razvojne verzije 3.1.0.2053), nova opcija filtriranja $ rewrite omogućava vam da prepišete URL resursa umjesto da ga blokirate.

Kada Adblock Plus dodijeli URL zahtjeva filtru s opcijom $ rewrite, on transformira URL na temelju navedenog pravila i govori pretraživaču da istovremeno učita resurs.

Sintaksa pravila $ rewrite navodi niz koji služi kao predložak za novi URL.

$ n je zamijenjen regularnim izrazom filtra n-tim podudaranjem. Ovo je ista sintaksa kao i JavaScript String.prototype.replace () funkcija.

Ako je rezultirajući URL relativan (tj. nemate domaćina), podrijetlo izvornog upita će se koristiti kao osnova. U oba slučaja, ako novi URL ne dijeli podrijetlo, prepisivanje će se smatrati neuspješnim i početni zahtjev će proći.

Također, $ rewrite filtri se zanemaruju za SCRIPT, SUBDOCUMENT, OBJECT i OBJECT_SUBREQUEST upite iz sigurnosnih razloga. Ova je opcija prikladna za izmjenu ili uklanjanje parametara upita ».

Jedina mana je što zamjenski niz mora biti relativni URL, što znači da ne sadrži ime hosta i, kada se prepiše, mora pripadati istoj izvornoj domeni kao i zahtjev.

Izvršenje koda vrši se čak i na google mapama

Objasnio je istraživač sigurnosti da:

Pod određenim uvjetima moguće je da neovlašteni održavač zlonamjernog filtra stvori pravilo koje ubrizgava udaljenu skriptu u određenu web lokaciju.

Da biste to učinili, samo potražite stranicu koja učitava skripte sa bilo koje domene koja sadrži otvoreno preusmjeravanje i koristite XMLHttpRequest ili Fetch za preuzimanje skripti za pokretanje.

Nije bilo preteško pronaći jer to učiniti sam samo koristite Google Maps kao dokaz koncepta.

Istraživač je to objasnio moraju biti ispunjeni sljedeći kriteriji tako da se web usluga može iskoristiti ovom metodom:

  • Stranica mora učitati JS niz pomoću XMLHttpRequest ili Fetch i izvršiti povratni kôd.
  • Stranica ne bi smjela ograničavati izvore iz kojih se može doći pomoću smjernica pravila o sigurnosti sadržaja, niti provjeravati URL konačnog zahtjeva prije pokretanja preuzetog koda.
  • Izvor dohvaćenog koda mora imati otvoreno preusmjeravanje na strani poslužitelja ili proizvoljan korisnički sadržaj s hosta.

Korištenje XMLHttpRequest ili Fetch za preuzimanje skripti i otvaranje preusmjeravanja dva su ključa problema.

Da ublažimo ovaj problem, preporučuje se da web stranice koriste zaglavlje politike zaštite sadržaja i opciju connect-src da odredite bijelu listu web lokacija sa kojih se mogu učitati skripte.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.