Adblock Plus ievainojamība, kas ļauj izpildīt kodu, izmantojot apšaubāmus filtrus

Adblock Plus reklāmu bloķētājā identificēts ievainojamība, ļaujot organizēt JavaScript koda izpildi vietņu kontekstā, ja tiek izmantoti uzbrucēju sagatavoti nepārbaudīti filtri (piemēram, savienojot trešās puses noteikumu kopas vai aizstājot noteikumus MITM uzbrukuma laikā).

Sarakstu ar filtru komplektiem autori var organizēt sava koda izpildi lietotāja atvērto vietņu kontekstā, pievienojot noteikumus ar operatoru "pārrakstīt", kas ļauj aizstāt daļu URL. Pārrakstīšanas operators neļauj aizstāt resursdatoru URL, taču tas ļauj brīvi manipulēt ar pieprasījuma argumentiem. Kā aizstājējmasku var izmantot tikai tekstu, un ir atļauta skriptu, objektu un apakšdokumentu tagu aizstāšana bloķēts.

Tomēr koda izpildi var panākt, izmantojot risinājumu.
Dažas vietnes, tostarp Google Maps, Gmail un Google attēli, izmanto izpildāmu JavaScript bloku dinamiskas ielādes paņēmienu, kas tiek pārraidīts tukša teksta veidā. Ja serveris atļauj pieprasījuma pāradresāciju, pārsūtīšanu uz citu resursdatoru var panākt, mainot URL parametrus (piemēram, Google kontekstā novirzīšanu var veikt caur API "google.com/search"). Papildus resursdatoriem, kas pieļauj novirzīšanu, var tikt veikts uzbrukums arī pakalpojumiem, kas ļauj publicēt lietotāja saturu (koda mitināšana, rakstu ievietošanas platformas utt.).

Piedāvātā uzbrukuma metode ietekmē tikai tās lapas, kurās dinamiski tiek ielādētas JavaScript koda virknes (piemēram, izmantojot XMLHttpRequest vai Fetch) un pēc tam tās tiek izpildītas. Vēl viens svarīgs ierobežojums ir nepieciešamība izmantot novirzīšanu vai ievietot patvaļīgus datus sākotnējā servera pusē, kas izsniedz resursu. Tomēr, lai parādītu uzbrukuma nozīmīgumu, ir parādīts, kā organizēt koda izpildi, atverot maps.google.com, izmantojot novirzīšanu caur “google.com/search”.

Labojums joprojām tiek gatavots. Problēma skar arī blokatorus AdBlock и uBlock. Problēma neietekmē uBlock Origin bloķētāju, jo tas neatbalsta “pārrakstīšanas” operatoru. Savulaik uBlock Origin autors
atteicās pievienojiet pārrakstīšanas atbalstu, atsaucoties uz iespējamām drošības problēmām un nepietiekamiem resursdatora līmeņa ierobežojumiem (pārrakstīšanas vietā tika piedāvāta vaicājuma opcija, lai notīrītu vaicājuma parametrus, nevis tos aizstātu).

Adblock Plus izstrādātāji reālus uzbrukumus uzskata par maz ticamiem, jo ​​tiek pārskatītas visas izmaiņas standarta noteikumu sarakstos, un trešo pušu sarakstu savienošana lietotāju vidū ir ārkārtīgi reti sastopama. Noteikumu aizstāšanu, izmantojot MITM, novērš noklusējuma HTTPS izmantošana standarta bloķēšanas sarakstu lejupielādei (citiem sarakstiem nākotnē plānots aizliegt lejupielādi, izmantojot HTTP). Norādījumus var izmantot, lai bloķētu uzbrukumu vietnes pusē SPS (Satura drošības politika), ar kuras palīdzību jūs varat skaidri noteikt saimniekdatorus, no kuriem var ielādēt ārējos resursus.

Avots: opennet.ru

Pievieno komentāru