Adblock Plusi haavatavus, mis võimaldab küsitavate filtrite kasutamisel koodi käivitada

Adblock Plusi reklaamiblokeerijas tuvastatud haavatavus, lubades korraldada JavaScripti koodi täitmine saitide kontekstis, kui kasutatakse ründajate koostatud kontrollimata filtreid (näiteks kolmanda osapoole reeglikomplektide ühendamisel või reeglite asendamisel MITM-i rünnaku ajal).

Filtrite komplektidega loendite autorid saavad korraldada oma koodi täitmist kasutaja avatud saitide kontekstis, lisades reegleid operaatoriga "ümber kirjutama", mis võimaldab teil osa URL-ist asendada. Ümberkirjutamise operaator ei luba teil URL-is hosti asendada, kuid see võimaldab teil päringu argumentidega vabalt manipuleerida. Asendusmaskina saab kasutada ainult teksti ning skripti, objekti ja alamdokumendi siltide asendamine on lubatud blokeeritud.

Koodi täitmine on siiski saavutatav lahendusena.
Mõned saidid, sealhulgas Google Maps, Gmail ja Google Images, kasutavad käivitatavate JavaScripti plokkide dünaamilise laadimise tehnikat, mis edastatakse tühja tekstina. Kui server lubab päringu ümbersuunamist, siis saab URL-i parameetrite muutmisega saavutada suunamise teisele hostile (näiteks Google'i kontekstis saab ümbersuunamise teha API kaudu "google.com/search"). Lisaks ümbersuunamist võimaldavatele hostidele saab rünnata ka kasutaja sisu postitamist lubavate teenuste vastu (koodimajutus, artiklite postitamise platvormid jne).

Pakutud ründemeetod mõjutab ainult lehti, mis laadivad dünaamiliselt JavaScripti koodi stringe (näiteks XMLHttpRequesti või Fetch kaudu) ja seejärel käivitavad. Teine oluline piirang on vajadus kasutada ümbersuunamist või paigutada suvalisi andmeid algse ressursi väljastanud serveri poolele. Rünnaku asjakohasuse demonstreerimiseks näidatakse aga, kuidas korraldada oma koodi täitmist saidi maps.google.com avamisel, kasutades ümbersuunamist läbi „google.com/search”.

Parandus on veel ettevalmistamisel. Probleem mõjutab ka blokaatoreid AdBlock и uBlock. Probleem ei mõjuta blokeerijat uBlock Origin, kuna see ei toeta ümberkirjutamise operaatorit. Omal ajal uBlock Origini autor
keeldus lisage ümberkirjutamise tugi, viidates võimalikele turbeprobleemidele ja ebapiisavatele hostitaseme piirangutele (päringuparameetrite puhastamiseks nende asendamise asemel pakuti ümberkirjutamise asemel päringuriba valikut).

Adblock Plusi arendajad peavad tõelisi rünnakuid ebatõenäoliseks, kuna kõik standardsete reeglite loendite muudatused vaadatakse üle ja kolmandate osapoolte loendite ühendamine on kasutajate seas äärmiselt haruldane. Reeglite asendamist MITM-i kaudu takistab vaikimisi HTTPS-i kasutamine standardsete blokiloendite allalaadimiseks (teiste loendite puhul on plaanis tulevases versioonis HTTP kaudu allalaadimine keelata). Direktiive saab kasutada saidipoolse rünnaku blokeerimiseks CSP (Sisu turbepoliitika), mille kaudu saate selgesõnaliselt määrata hostid, millelt saab väliseid ressursse laadida.

Allikas: opennet.ru

Lisa kommentaar