Az Adblock Plus szűrő kihasználja a feltárt tetszőleges kód futtatását

A legtöbb blokkoló alapértelmezés szerint olyan szűrőlistákat használ és tölt be, amelyek utasításokat tartalmaznak a web böngészőben meglátogatott webhelyek bizonyos tartalmainak blokkolására vagy megváltoztatására; Ennek célja annak biztosítása, hogy az alapértelmezett konfigurációk azonnal blokkolják a nem kívánt tartalom jó részét.

A legtöbb bővítmény támogatja az egyedi listákat és az egyedi szűrőket. A felhasználók betölthetik az egyedi listákat a legtöbb kiterjesztésben, és saját szűrőiket is hozzáadhatják a listához.

Frissítés : Az Eyeo GMHB ma bejelentette, hogy megszünteti a $ rewrite funkciót. Hamarosan új kiadásra számíthat, amely eltávolítja a kiterjesztésből. vég

Biztonsági kutató, Armin Sebastian bizonyos adblokkolókban, mint például az Adblock Plus, felfedezett egy olyan kihasználást, amely rosszindulatú kódok futtatásához használható a böngészőben meglátogatott webhelyeken.

A exploit a $ rewrite nevű szűrési opciót használja, amelyet az Adblock Plus támogat, hogy tetszőleges kódot adjon a weboldalakhoz. A $ rewrite szűrőt arra használják, hogy a webhelyek kódját újraírással helyettesítse. A szűrő opció korlátozza a műveletet; úgy tervezték, hogy a tartalmat csak az első forrásból származó forrásból töltsék be, és ne a harmadik fél webhelyeiről vagy szervereiről, és bizonyos kérések, például szkript vagy objektum, szintén nem engedélyezettek.

Sebastian sebezhetőséget fedezett fel a $ átírása során, amelyet a támadók kihasználhatnak a távoli helyekről való tartalom betöltése céljából. A teljesítendő feltételek a következők:

  1. A JavaScript karakterláncot be kell tölteni az XMLHttpRequest vagy a Fetch használatával, és a visszatérési kódot végre kell hajtani.
  2. Az eredet nem korlátozható az oldalon, például a tartalombiztonsági irányelvek használatával, és a végső kérés URL-jét a végrehajtás előtt nem lehet érvényesíteni.
  3. A kód származásának szerveroldali nyitott átirányítást kell tartalmaznia, vagy tetszőleges felhasználói tartalmat kell tartalmaznia.

A három követelménynek megfelelő tulajdonságok között szerepel többek között a Google Maps, a Gmail vagy a Google Images. A koncepció igazolását közzétették a szerző weboldalán, és kipróbálhatja a Google Maps alkalmazásban annak ellenőrzése érdekében, hogy működik-e.

Kipróbáltam a kizsákmányolást a Chrome-ban és a Firefox-ban, és nem tudtam működésbe hozni. Lawrence Abramsnek azonban a Bleeping Computer felett sikerült működőképessé tennie.

Záró szavak

A támadásnak egy másik követelménye van, mivel szűrőkre támaszkodik. A manipulált szűrőt hozzá kell adni a tartalomblokkoló által használt szűrők listájához. A két leggyakoribb lehetőség szerint a felhasználók szűrőket manuálisan adnak hozzá a tartalomblokkolóikhoz, vagy hogy egy manipulált szűrő szerepel a szűrőlistában, amely betöltődik.

A második lehetőség valószínűbbnek tűnik, különösen azokban az esetekben, amikor a felhasználók más listákat töltöttek be a kiterjesztésekbe. Nem ez az első alkalom, hogy a listákat manipulálják, de nem nagyon gyakran.

Az uBlock Origin kiterjesztést a kérdés nem érinti, mivel nem támogatja a $ rewrite-t.