Ranljivost na seznamih Adblock Plus omogoča izvajanje zlonamerne kode

brskalnik

Recientemente je bila odkrita ranljivost ki bi vzdrževalcem lahko omogočili blokiranje seznamov filtrov za razširitve brskalnika Adblock Plus, AdBlock in uBlocker ustvariti filtre, ki vbrizgajo oddaljene skripte v spletna mesta.

Z bazo uporabnikov, ki je presegla mejo 10 milijonov, če bi v blokatorje oglasov vbrizgali zlonamerne skripte, bi to močno vplivalo Ker bi lahko izvajali neželene dejavnosti, kot so kraja piškotkov, informacije o povezavi, povzročale preusmeritve strani ali druga neželena vedenja.

Za tiste, ki ne poznajo blokatorjev oglasov, v bistvu uporabljajo sezname URL-jev povezane z zlonamernimi oglasi in vedenjem.

Običajno, Vodi jih majhna skupina ljudi ali celo ena oseba.

Ko so ti seznami naloženi z razširitvijo za blokiranje oglasov, kot je Adblock Plus, ta razširitev prepreči brskalniku, da se poveže z URL-ji na seznamu in s tem prepreči povezavo z zlonamernimi oglasi ali skripti.

Težavo povzroča možnost $ rewrite filter

Pri AdblockerPlus 3.2 začela leta 2018, it je dodal novo možnost seznama filtrov, imenovano $ rewrite.

Ta možnost dovoljeno vzdrževalcu seznama zamenjajte spletno zahtevo, ki se ujema z regularnim izrazom zlasti z drugim URL-jem.

Hubert Figuiere, kdo je predstavil to funkcijo, je pojasnil, da:

»Od Adblock Plus 3.2 za Chrome, Firefox in Opera (in 3.1.0.2053 razvojne različice) nova možnost $ rewrite filter omogoča prepis URL-ja vira, namesto da bi ga blokirali.

Ko Adblock Plus URL-ju zahteve dodeli filter z možnostjo $ rewrite, spremeni URL na podlagi navedenega pravila in brskalniku sporoči, naj hkrati naloži vir.

Sintaksa pravila $ rewrite določa niz, ki služi kot predloga za novi URL.

$ n nadomesti regularni izraz filtra n-to podujemanje. To je enaka sintaksa kot funkcija JavaScript String.prototype.replace ().

Če je nastali URL relativni (tj. nimate gostitelja), izvor izvirne poizvedbe bo uporabljen kot osnova. V obeh primerih, če novi URL ne deli izvora, bo prepisovanje neuspešno in začetna zahteva bo sprejeta.

Zaradi poizvedb SCRIPT, SUBDOCUMENT, OBJECT in OBJECT_SUBREQUEST se prezrejo tudi filtri za prepisovanje $. Ta možnost je primerna za spreminjanje ali odstranjevanje parametrov poizvedbe ».

Edina slabost je, da mora biti nadomestni niz relativni URL, kar pomeni, da ne vsebuje imena gostitelja in mora biti ob ponovnem zapisu v isti izvorni domeni kot zahteva.

Izvajanje kode se izvaja celo na google maps

Razložil je raziskovalec varnosti da:

Pod določenimi pogoji lahko nepooblaščeni vzdrževalec zlonamernih filtrov ustvari pravilo, ki vbrizga oddaljeni skript v določeno spletno mesto.

Če želite to narediti, samo poiščite spletno mesto, ki nalaga skripte iz katere koli domene, ki vsebuje odprto preusmeritev in uporabite XMLHttpRequest ali Fetch da prenesete skripte za zagon.

Ni ga bilo težko najti, ker da bi to storili sami samo uporabite Google Zemljevide kot dokaz koncepta.

Raziskovalec je to pojasnil izpolnjeni morajo biti naslednji kriteriji tako da je mogoče spletno storitev izkoristiti s to metodo:

  • Stran mora naložiti niz JS z uporabo XMLHttpRequest ali Fetch in izvršiti povratno kodo.
  • Stran ne sme omejevati virov, iz katerih jo je mogoče pridobiti s smernicami pravilnika o varnosti vsebine, niti potrditi URL končne zahteve pred zagonom prenesene kode.
  • Vir pridobljene kode mora imeti od gostitelja odprto preusmeritev na strani strežnika ali poljubno uporabniško vsebino.

Uporaba XMLHttpRequest ali Fetch za prenos skriptov in odpiranje preusmeritve sta dva ključa težave.

Da bi ublažili to težavo, Priporočljivo je, da spletna mesta uporabljajo glavo varnostne politike vsebine in možnost connect-src da določite seznam dovoljenih mest, s katerih je mogoče naložiti skripte.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.