Një dobësi në listat Adblock Plus lejon ekzekutimin e kodit me qëllim të keq

shfletuesi

kohët e fundit është zbuluar një dobësi gjë që mund të lejojë mirëmbajtësit të bllokojnë listat e filtrave për zgjerimet e shfletuesit Adblock Plus, AdBlock dhe uBlocker për të krijuar filtra që injektojnë skripte të largëta në faqet e internetit.

Me një bazë përdoruesish që ka kaluar kufirin e 10 milion, nëse skriptet me qëllim të keq do të injektoheshin në bllokuesit e reklamave, kjo do të kishte një ndikim të konsiderueshëm Për shkak se ata mund të kryejnë veprimtari të padëshiruara, të tilla si vjedhja e cookies, informacioni i lidhjes, shkaktimi i ridrejtimeve të faqes ose sjellje të tjera të padëshiruara.

Për ata që nuk janë njohur me bllokuesit e reklamave, në thelb ata përdorin lista URL që lidhen me reklama dhe sjellje të dëmshme.

zakonisht, Ata drejtohen nga një ekip i vogël njerëzish ose edhe nga një person i vetëm.

Kur këto lista ngarkohen me një shtesë bllokimi reklamash siç është Adblock Plus, kjo shtesë do të parandalojë që shfletuesi të lidhet me URL-të e vendosura në listë dhe kështu kjo parandalon lidhjen me reklama ose skenare të dëmshme.

Opsioni i filtrit $ rishkruaj $ po shkakton problemin

Kur AdblockerPlus 3.2 nisur në 2018, ajo shtoi një opsion të ri të listës së filtrave, të quajtur $ rishkruaj.

Ky opsion lejohet te një mirëmbajtës i listave zëvendësoni një kërkesë në internet që përputhet me një shprehje të rregullt në veçanti me një URL tjetër.

Hubert Figuiere, kush e futi kete funksion, shpjegoi se:

“Meqenëse Adblock Plus 3.2 për Chrome, Firefox dhe Opera (dhe versionet e zhvillimit 3.1.0.2053), një opsion i ri filtri $ rishkruaj ju lejon të rishkruani URL-në e një burimi në vend që ta bllokoni.

Kur Adblock Plus cakton një kërkesë URL në një filtër me opsionin $ rewrite, ajo transformon URL bazuar në rregullin e dhënë dhe i thotë shfletuesit të ngarkojë burimin në të njëjtën kohë.

Sintaksa e rregullit $ rewrite specifikon një varg që shërben si model për URL-në e re.

$ n zëvendësohet nga shprehja e rregullt e filtrit nën-ndeshja e nëntë. Kjo është e njëjta sintaksë me funksionin JavaScript String.prototype.replace ().

Nëse URL-ja që rezulton është relative (d.m.th. ju nuk keni një host), origjina e pyetjes origjinale do të përdoret si bazë. Në secilin rast, nëse URL-ja e re nuk ndan origjinën, rishkrimi do të konsiderohet i pasuksesshëm dhe kërkesa fillestare do të kalojë.

Gjithashtu, filtrat $ rishkruajnë nuk merren parasysh për pyetjet SCRIPT, SUBDOCUMENT, OBJECT dhe OBJECT_SUBREQUEST për arsye sigurie. Ky opsion është i përshtatshëm për të modifikuar ose fshirë parametrat e pyetjes ».

E vetmja gjë e dobët është se vargu zëvendësues duhet të jetë një URL relative, që do të thotë se nuk përmban një emër host dhe, kur të rishkruhet, duhet t'i përkasë të njëjtës domen origjine si kërkesa.

Ekzekutimi i kodit bëhet edhe në hartat google

Një studiues i sigurisë shpjegoi që:

Nën kushte të caktuara, është e mundur që një mirëmbajtës i paautorizuar i filtrit me qëllim të keq të krijojë një rregull që injekton një skenar të largët në një sit të veçantë.

Për ta bërë këtë, thjesht shikoni për një faqe që ngarkon skriptet nga çdo fushë që përmban një ridrejtim të hapur dhe përdorni XMLHttpRequest ose Fetch për të shkarkuar skenarët për t'u ekzekutuar.

Nuk ishte shumë e vështirë për të gjetur sepse ta bëje këtë vetëm thjesht përdorni Google Maps si një provë e konceptit.

Studiuesi e shpjegoi atë kriteret e mëposhtme duhet të plotësohen në mënyrë që një shërbim në internet të mund të shfrytëzohet me këtë metodë:

  • Faqja duhet të ngarkojë një varg JS duke përdorur XMLHttpRequest ose Fetch dhe të ekzekutojë kodin e kthimit.
  • Faqja nuk duhet të kufizojë burimet nga të cilat mund të merret duke përdorur udhëzimet e politikës së sigurisë së përmbajtjes, ose të vërtetojë URL-në e kërkesës përfundimtare përpara se të ekzekutojë kodin e shkarkuar.
  • Burimi i kodit të marrë duhet të ketë një përmbajtje të hapur përdoruesi nga ana e serverit për ridrejtim ose arbitrar nga pritësi.

Përdorimi i XMLHttpRequest ose Fetch për të shkarkuar skriptet dhe për të hapur ridrejtimin janë dy çelësat e problemit.

Për të zbutur këtë problem, rekomandohet që faqet e internetit të përdorin kokën e politikës së sigurisë së përmbajtjes dhe opsionin e lidhjes-src për të specifikuar një listë të bardhë të faqeve nga të cilat mund të ngarkohen skriptet.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.