kohët e fundit u zbulua se bllokuesi popullor i reklamave «Adblock Plus »ka një dobësi që lejon organizimin e ekzekutimit të kodit JavaScript në faqet, në rastin e përdorimit të filtrave të paprovuar të përgatitur nga palë të treta me qëllim të keq (për shembull, duke lidhur rregullat e palëve të treta ose me zëvendësimin e rregullave gjatë sulmit të MITM).
Renditni autorët me grupe filtrash mund të organizojë ekzekutimin e kodit të tyre në kontekstin e faqeve të arritshme për përdoruesit duke shtuar rregulla me operatorin »$ rishkruaj«, i cili lejon të zëvendësojë një pjesë të URL.
Si është i mundur ekzekutimi i këtij kodi?
Deklarata e $ rewrite nuk lejon të zëvendësojë hostin në url, por siguron mundësinë për të manipuluar lirshëm argumentet të kërkesës.
megjithatë ekzekutimi i kodit mund të arrihet. Disa faqe, të tilla si Google Maps, Gmail dhe Google Images, ata përdorin teknikën e ngarkimit dinamik të blloqeve të ekzekutueshme JavaScript të transmetuara në formën e një teksti të thjeshtë.
Nëse serveri lejon ridrejtimin e kërkesave, atëherë ai mund të përcillet në një host tjetër duke ndryshuar parametrat e URL (për shembull, në kontekstin e Google, një ridrejtim mund të bëhet përmes API »google.com/search«) .
Përveç kësaj pret që lejojnë ridrejtimin, gjithashtu mund të kryeni një sulm kundër shërbimeve që lejojnë vendndodhjen e përmbajtjes së përdoruesit (pritja e kodit, platforma e vendosjes së artikullit, etj.).
Metoda e Sulmi i propozuar prek vetëm faqet që ngarkojnë në mënyrë dinamike vargjet me kodin JavaScript (për shembull, përmes XMLHttpRequest ose Fetch) dhe më pas ekzekutojini.
Një kufizim tjetër i madh është nevoja për të përdorur një ridrejtim ose vendosjen e të dhënave arbitrare në anën e serverit të origjinës që siguron burimin.
Megjithatë, si demonstrim i rëndësisë së një sulmi, ju tregon se si të organizoni ekzekutimin e kodit tuaj duke hapur maps.google.com duke përdorur një ridrejtim përmes "google.com/search".
Në fakt, kërkesat për të përdorur XMLHttpRequest ose Fetch për të shkarkuar skriptet e largëta për t'u ekzekutuar nuk do të dështojnë kur të përdoret opsioni $ rewrite.
Gjithashtu, ridrejtimi i hapur është po aq i rëndësishëm sepse lejon XMLHttpRequest të lexojë skenarin nga një sit i largët, edhe pse duket se është nga i njëjti burim.
Ata tashmë janë duke punuar në zgjidhjen e problemit
Zgjidhja është ende në përgatitje. Problemi prek gjithashtu bllokuesit e AdBlock dhe uBlock. Bllokuesi i Origjinës uBlock nuk është i ndjeshëm ndaj problemit pasi nuk mbështet operatorin »$ rishkruaj».
Në një moment, autori i uBlock Origin refuzoi të shtonte mbështetje për rishkrimin $, duke përmendur çështje të mundshme të sigurisë dhe kufizime të pamjaftueshme të nivelit të hostit (në vend të rishkrimit, opsioni i pyetësorit u propozua për të pastruar parametrat e pyetjes në vend që t'i zëvendësonte ato).
Responsibilityshtë përgjegjësia jonë të mbrojmë përdoruesit tanë.
Përkundër rrezikut aktual shumë të ulët, ne vendosëm të heqim opsionin $ rishkruaj. Prandaj, ne do të nxjerrim një version të azhurnuar të Adblock Plus sa më shpejt të jetë e mundur teknikisht.
Ne e bëjmë këtë si një masë paraprake. Asnjë përpjekje nuk është bërë për të keqpërdorur opsionin e rishkrimit dhe ne do të bëjmë çmos që kjo të mos ndodhë.
Kjo do të thotë se nuk ka kërcënim për asnjë përdorues të Adblock Plus.
DZhvilluesit e Adblock Plus i konsiderojnë të papritura sulmet aktuale, pasi të gjitha ndryshimet në listat e rregullta të rregullave janë rishikuar dhe lidhja e listave të palëve të treta praktikohet nga përdoruesit shumë rrallë.
Zëvendësimi i rregullave përmes MITM heq përdorimin e HTTPS si parazgjedhje për të ngarkuar listat e rregullta të bllokut (për listat e mbetura është planifikuar të ndalohet shkarkimi i HTTP në një botim të ardhshëm).
Për të bllokuar sulmet në anën e faqeve, Direktivat e CSP mund të zbatohen (Politika e Sigurisë së Përmbajtjes), përmes së cilës ju mund të identifikoni në mënyrë të qartë pritësit nga të cilët mund të ngarkohen burimet e jashtme.
Fuente: https://adblockplus.org, https://armin.dev