Dobësi në Adblock Plus që lejon ekzekutimin e kodit kur përdorni filtra të dyshimtë

Në bllokuesin e reklamave Adblock Plus identifikuar cenueshmëria, duke lejuar organizoni ekzekutimin e kodit JavaScript në kontekstin e sajteve, në rastin e përdorimit të filtrave të paverifikuar të përgatitur nga sulmuesit (për shembull, kur lidhni grupe rregullash të palëve të treta ose përmes zëvendësimit të rregullave gjatë një sulmi MITM).

Autorët e listave me grupe filtrash mund të organizojnë ekzekutimin e kodit të tyre në kontekstin e faqeve të hapura nga përdoruesi duke shtuar rregulla me operatorin "rishkruaj", e cila ju lejon të zëvendësoni një pjesë të URL-së. Operatori i rishkrimit nuk ju lejon të zëvendësoni hostin në URL, por ju lejon të manipuloni lirshëm argumentet e kërkesës. Vetëm teksti mund të përdoret si maskë zëvendësuese dhe lejohet zëvendësimi i etiketave të skriptit, objektit dhe nëndokumentit bllokuar.

Sidoqoftë, ekzekutimi i kodit mund të arrihet me një zgjidhje.
Disa sajte, duke përfshirë Google Maps, Gmail dhe Google Images, përdorin teknikën e ngarkimit dinamik të blloqeve JavaScript të ekzekutueshme, të transmetuara në formën e tekstit të zhveshur. Nëse serveri lejon ridrejtimin e kërkesës, atëherë përcjellja në një host tjetër mund të arrihet duke ndryshuar parametrat e URL-së (për shembull, në kontekstin e Google, një ridrejtim mund të bëhet përmes API "google.com/search"). Përveç hosteve që lejojnë ridrejtimin, një sulm mund të kryhet edhe kundër shërbimeve që lejojnë postimin e përmbajtjes së përdoruesit (pritja e kodit, platformat e postimit të artikujve, etj.).

Metoda e propozuar e sulmit prek vetëm faqet që ngarkojnë në mënyrë dinamike vargjet e kodit JavaScript (për shembull, nëpërmjet XMLHttpRequest ose Fetch) dhe më pas i ekzekutojnë ato. Një kufizim tjetër i rëndësishëm është nevoja për të përdorur një ridrejtim ose vendosje të të dhënave arbitrare në anën e serverit origjinal që lëshon burimin. Sidoqoftë, për të demonstruar rëndësinë e sulmit, tregohet se si të organizoni ekzekutimin e kodit tuaj kur hapni maps.google.com, duke përdorur një ridrejtim përmes "google.com/search".

Rregullimi është ende në përgatitje. Problemi prek edhe bllokuesit AdBlock и u bllokua. Bllokuesi uBlock Origin nuk ndikohet nga problemi, pasi nuk e mbështet operatorin "rishkrim". Në një kohë autori i uBlock Origin
refuzoi shtoni mbështetje për rishkrimin, duke përmendur çështjet e mundshme të sigurisë dhe kufizimet e pamjaftueshme të nivelit të hostit (një opsion i shiritit të pyetjeve u propozua në vend të rishkrimit për të pastruar parametrat e pyetjes në vend që t'i zëvendësonte ato).

Zhvilluesit e Adblock Plus i konsiderojnë sulmet reale si të pamundura, pasi të gjitha ndryshimet në listat standarde të rregullave rishikohen dhe lidhja e listave të palëve të treta është jashtëzakonisht e rrallë midis përdoruesve. Zëvendësimi i rregullave nëpërmjet MITM parandalohet nga përdorimi i paracaktuar i HTTPS për shkarkimin e listave standarde të bllokut (për listat e tjera është planifikuar të ndalohet shkarkimi përmes HTTP në një version të ardhshëm). Direktivat mund të përdoren për të bllokuar një sulm në anën e faqes CSP (Politika e Sigurisë së Përmbajtjes), përmes së cilës mund të përcaktoni në mënyrë eksplicite hostet nga të cilët mund të ngarkohen burimet e jashtme.

Burimi: opennet.ru

Shto një koment