Ranjivost na popisima Adblock Plus omogućuje izvršavanje zlonamjernog koda

preglednik

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

S bazom korisnika koja je prešla granicu od 10 milijuna, ako bi se zlonamjerne skripte ubrizgale u blokatore oglasa, to bi imalo znatan utjecaj jer bi mogli izvoditi 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 programima za blokiranje oglasa, oni u osnovi koriste popise URL-ova povezane sa zlonamjernim oglasima i ponašanjem.

obično, Vodi ih mali tim ljudi ili čak jedna osoba.

Kad su ovi popisi učitani s proširenjem za blokiranje oglasa, kao što je Adblock Plus, ovo će proširenje spriječiti preglednik da se poveže s URL-ovima na popisu, a time se sprječava povezivanje sa zlonamjernim oglasima ili skriptama.

Problem uzrokuje opcija $ rewrite filter

Kada AdblockerPlus 3.2 pokrenut 2018. godine, it dodao novu opciju popisa filtara, nazvanu $ rewrite.

Ova opcija dopušteno održavatelju popisa zamijenite web zahtjev koji odgovara regularnom izrazu 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 filtra za prepisivanje $ omogućuje 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 pregledniku da istovremeno učita resurs.

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

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

Ako je rezultirajući URL relativan (tj. nemate domaćina), podrijetlo izvornog upita koristit će se 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, filteri $ rewrite zanemaruju se za SCRIPT, SUBDOCUMENT, OBJECT i OBJECT_SUBREQUEST iz sigurnosnih razloga. Ova je opcija prikladna za izmjenu ili brisanje parametara upita ».

Jedina je mana što zamjenski niz mora biti relativni URL, što znači da ne sadrži ime hosta, a kada se prepiše, mora biti iz iste izvorne domene kao i zahtjev.

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

Objasnio je istraživač sigurnosti da:

Pod određenim uvjetima neovlašteni održavatelj zlonamjernog filtra može stvoriti pravilo koje ubrizgava udaljenu skriptu u određeno mjesto.

Da biste to učinili, samo potražite web mjesto koje učitava skripte s 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 kako bi se web usluga mogla iskoristiti ovom metodom:

  • Stranica mora učitati JS niz pomoću XMLHttpRequest ili Fetch i izvršiti povratni kôd.
  • Stranica ne bi trebala ograničavati izvore iz kojih se može doći pomoću smjernica pravila o sigurnosti sadržaja niti validirati konačni URL 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 bismo ublažili ovaj problem, preporučuje se da web stranice koriste zaglavlje politike zaštite sadržaja i opciju connect-src da odredite bijeli popis web lokacija s kojih se skripte mogu učitati.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.