Adblock Plus:n haavoittuvuus, joka sallii koodin suorittamisen kyseenalaisia ​​suodattimia käytettäessä

Adblock Plus -mainosten estäjässä tunnistettu haavoittuvuus, sallimalla järjestää JavaScript-koodin suorittamisen sivustojen yhteydessä, jos käytetään hyökkääjien valmistamia vahvistamattomia suodattimia (esimerkiksi yhdistettäessä kolmannen osapuolen sääntöjoukkoja tai korvaamalla sääntöjä MITM-hyökkäyksen aikana).

Suodatinsarjoja sisältävien luetteloiden tekijät voivat järjestää koodinsa suorittamisen käyttäjän avaamien sivustojen yhteydessä lisäämällä sääntöjä operaattorilla "kirjoittaa uudelleen", jonka avulla voit korvata osan URL-osoitteesta. Uudelleenkirjoitusoperaattori ei salli sinun korvata isäntää URL-osoitteessa, mutta sen avulla voit vapaasti manipuloida pyyntöargumentteja. Korvaavana maskina voidaan käyttää vain tekstiä, ja komentosarja-, objekti- ja aliasiakirjatunnisteiden korvaaminen on sallittua tukossa.

Koodin suorittaminen voidaan kuitenkin saavuttaa kiertotavan avulla.
Jotkut sivustot, kuten Google Maps, Gmail ja Google Images, käyttävät tekniikkaa, jolla ladataan dynaamisesti suoritettavia JavaScript-lohkoja, jotka lähetetään paljaana tekstinä. Jos palvelin sallii pyynnön uudelleenohjauksen, niin edelleenlähetys toiselle isännälle voidaan saavuttaa muuttamalla URL-parametreja (esim. Googlen kontekstissa uudelleenohjaus voidaan tehdä API:n kautta "google.com/search"). Uudelleenohjauksen sallivien isäntien lisäksi hyökkäys voidaan suorittaa myös palveluita vastaan, jotka sallivat käyttäjien sisällön lähettämisen (koodin isännöinti, artikkelien lähetysalustat jne.).

Ehdotettu hyökkäysmenetelmä vaikuttaa vain sivuihin, jotka lataavat dynaamisesti JavaScript-koodin merkkijonoja (esimerkiksi XMLHttpRequestin tai Fetchin kautta) ja suorittavat ne sitten. Toinen tärkeä rajoitus on tarve käyttää uudelleenohjausta tai sijoittaa mielivaltaisia ​​tietoja resurssin alkuperäisen palvelimen puolelle. Hyökkäyksen merkityksen osoittamiseksi näytetään kuitenkin, kuinka koodin suorittaminen järjestetään avattaessa maps.google.com käyttämällä uudelleenohjausta "google.com/search" kautta.

Korjaus on vielä valmisteilla. Ongelma koskee myös estoaineita AdBlock и ublock. Ongelma ei vaikuta uBlock Origin -estoon, koska se ei tue "uudelleenkirjoitus"-operaattoria. Kerran uBlock Originin kirjoittaja
kieltäytyi lisätä uudelleenkirjoituksen tuki mahdollisiin tietoturvaongelmiin ja riittämättömiin isäntätason rajoituksiin (ehdotettiin querystrip-vaihtoehtoa uudelleenkirjoituksen sijaan kyselyparametrien puhdistamiseksi niiden korvaamisen sijaan).

Adblock Plus -kehittäjät pitävät todellisia hyökkäyksiä epätodennäköisinä, koska kaikki standardisääntöluetteloiden muutokset tarkistetaan, ja kolmansien osapuolien luetteloiden yhdistäminen on erittäin harvinaista käyttäjien keskuudessa. Sääntöjen korvaaminen MITM:n kautta on estetty HTTPS:n oletuskäytöllä standardien estoluetteloiden lataamiseen (muille listoille on tarkoitus kieltää lataaminen HTTP:n kautta tulevassa julkaisussa). Ohjeita voidaan käyttää estämään hyökkäys sivuston puolella CSP (Sisällön suojauskäytäntö), jonka avulla voit nimenomaisesti määrittää isännät, joista ulkoisia resursseja voidaan ladata.

Lähde: opennet.ru

Lisää kommentti