Adblock Plus filter udnytte til at køre vilkårlig kode opdaget

0
165

af Martin Brinkmann April 16, 2019 i Internet – 4 kommentarer

Mest indhold-blokkere, brug og belastning filter lister, der indeholder instruktioner til at blokere eller ændre visse indholdet på de besøgte websteder i web-browseren som standard; dette er gjort for at sikre, at standard konfigurationer gøre blokere en god bid af uønsket indhold lige med det samme.

De fleste extensions understøtter brugerdefinerede lister og enkelte filtre. Brugerne kan indlæse brugerdefinerede lister i de fleste udvidelser og tilføje deres egne filtre til listen, så godt.

Sikkerhedsekspert Armin Sebastian opdagede en exploit i visse adblockers som Adblock Plus, der kunne bruges til at køre skadelig kode på websteder besøgte i browseren.

adblock plus exploit

Den udnyttelse, der bruger et filter, der kaldes $omskrive at Adblock Plus understøtter at indsprøjte vilkårlig kode på websider. $Omskrive filter anvendes til at erstatte kode på websteder ved at omskrive det. Filteret indstilling begrænser drift, og det er designet til at ilægge kun indhold fra det første-parts source og ikke tredjeparts websteder eller servere, og nogle anmodninger, f.eks script eller et objekt, er der ikke længere tilladt.

Sebastian har opdaget en sårbarhed i $omskrive, at angriberne kan udnytte til at indlæse indholdet fra eksterne placeringer. De betingelser, der skal være opfyldt, er:

  1. En JavaScript-streng, der skal indlæses ved hjælp af XMLHttpRequest eller Hente, og vende tilbage kode, der skal udføres.
  2. Oprindelse ikke være begrænset på den side, fx ved brug af Content Security Policy-direktiver, og den endelige anmodning URL-adresse kan ikke valideres inden eksekvering.
  3. Oprindelsen af den kode, der skal have en server-side åbne redirect, eller skal være vært for vilkårlig bruger-indhold.

Ejendomme, som matcher alle tre krav kan nævnes Google Maps, Gmail eller Google Billeder, blandt andre. Et proof-of-concept blev udgivet på forfatterens hjemmeside, og du kan prøve det på Google Maps til at verificere, at det virker.

Jeg har prøvet at udnytte i Chrome og Firefox, og kunne ikke få det til at virke. Lawrence Abrams over på Bleeping Computer formået at få det til at arbejde selv.

Afsluttende Ord

Angrebet er et andet krav, som den bygger på filtre. En manipuleret filter behov for at blive tilføjet til listen over filtre brugt af indhold blocker. De to mest almindelige indstillinger omfatter brugere, tilføje filtre manuelt til deres indhold-blokkere, eller at en manipuleret filter er et filter, der bliver indlæst.

Den anden mulighed, synes det mere sandsynligt, navnlig i tilfælde var brugere indlæse andre lister i udvidelser. Det er ikke første gang, at lister med at få manipuleret, men det sker ikke ret ofte.

Udvidelse uBlock Oprindelse, er ikke berørt af problemet, som den ikke understøtter $omskrive.