Večina zaviralcev vsebine uporablja in nalaga sezname filtrov, ki vključujejo navodila za privzeto blokiranje ali spreminjanje določene vsebine na obiskanih spletnih mestih v spletnem brskalniku; to se naredi, da se zagotovi, da privzete konfiguracije takoj blokirajo velik del neželene vsebine.
Večina razširitev podpira sezname po meri in posamezne filtre. Uporabniki lahko v večino razširitev naložijo sezname po meri in na seznam dodajo tudi svoje filtre.
Posodobitev : Eyeo GMHB je danes sporočil, da bo odstranil funkcijo $ rewrite, ki bo nadaljevala. Kmalu pričakujte novo izdajo, ki bo odstranjena, če iz razširitve. Konec
Varnostni raziskovalec Armin Sebastian je odkril izkoriščanje v nekaterih adblockerjih, kot je Adblock Plus, ki bi ga bilo mogoče uporabiti za zagon zlonamerne kode na spletnih mestih, obiskanih v brskalniku.
Pri izkoriščanju se uporablja možnost filtra, imenovana $ rewrite, ki jo Adblock Plus podpira za vstavljanje poljubne kode v spletne strani. Filter za prepisovanje $ se uporablja za nadomeščanje kode na spletnih mestih s ponovnim pisanjem. Možnost filtra omejuje delovanje; zasnovan je za nalaganje vsebine samo iz prvotnega vira in ne s tretjih strani ali strežnikov, nekatere zahteve, na primer skripta ali predmeta, pa tudi niso dovoljene.
Sebastian je v $ rewrite odkril ranljivost, ki jo napadalci lahko izkoristijo za nalaganje vsebine z oddaljenih lokacij. Pogoji, ki jih je treba izpolniti, so:
- Niz JavaScripta je treba naložiti z uporabo XMLHttpRequest ali Fetch in vrniti kodo mora biti.
- Izvorov ni mogoče omejiti na strani, npr. Z uporabo smernic o varnostni politiki vsebine, končnega URL zahteve pa pred izvedbo ni mogoče potrditi.
- Izvor kode mora imeti odprto preusmeritev na strani strežnika ali pa mora gostiti poljubno uporabniško vsebino.
Lastnosti, ki ustrezajo vsem trem zahtevam, med drugim vključujejo Google Maps, Gmail ali Google Images. Dokazilo o konceptu je bilo objavljeno na avtorjevem spletnem mestu in lahko poskusite na Google Zemljevidih, da preverite, ali deluje.
Poskusil sem izkoriščati v Chromu in Firefoxu in nisem mogel uspeti. Lawrence Abrams v Bleeping Computer je uspel spraviti v delo.
Zaključne besede
Napad ima še eno zahtevo, saj se zanaša na filtre. Na seznam filtrov, ki jih uporablja blokator vsebine, je treba dodati manipuliran filter. Dve najpogostejši možnosti vključujeta uporabnike, ki ročno dodajajo filtre v svoje blokatorje vsebine ali da je manipulirani filter na seznamu filtrov, ki se naloži.
Druga možnost se zdi bolj verjetna, zlasti v primeru, ko so uporabniki v razširitve naložili druge sezname. Ni prvič, da s seznami manipulirajo, vendar se to ne dogaja zelo pogosto.
Težava ne vpliva na razširitev uBlock Origin, saj ne podpira $ rewrite.