Adblock Plus -suodatin hyödyntää löydetyn mielivaltaisen koodin suorittamista

Useimmat sisällön estäjät käyttävät ja lataavat suodatinluetteloita, jotka sisältävät ohjeet tietyn sisällön estämiseksi tai muuttamiseksi vierailtujen verkkosivustojen selaimessa oletuksena; tämä tehdään sen varmistamiseksi, että oletuskokoonpanot estävät hyvän osan ei-toivotusta sisällöstä heti.

Useimmat laajennukset tukevat mukautettuja luetteloita ja yksittäisiä suodattimia. Käyttäjät voivat ladata mukautettuja luetteloita useimmissa laajennuksissa ja lisätä omia suodattimia myös luetteloon.

Päivitys : Eyeo GMHB ilmoitti tänään poistavansa $ rewrite -toiminnon. Odottaa pian uutta julkaisua, joka poistuu laajennuksesta. pää

Turvallisuustutkija Armin Sebastian löysi tietyissä adblokereissa, kuten Adblock Plus, hyväksikäytön, jota voidaan käyttää haittaohjelmien suorittamiseen selaimessa käytetyillä sivustoilla.

Hyödyntäminen käyttää suodatinvaihtoehtoa nimeltä $ rewrite, jota Adblock Plus tukee mielivaltaisen koodin lisäämiseksi verkkosivuille. $ Rewrite -suodatinta käytetään korvaamaan koodi sivustoilla kirjoittamalla se uudelleen. Suodatinvaihtoehto rajoittaa toimintaa; se on suunniteltu lataamaan sisältöä vain ensimmäisen osapuolen lähteistä eikä kolmansien osapuolien sivustoilta tai palvelimilta, ja jotkut pyynnöt, kuten skripti tai objekti, eivät myöskään ole sallittuja.

Sebastian havaitsi haavoittuvuuden $ -kirjoituksessa, jota hyökkääjät voivat käyttää sisällön lataamiseen syrjäisistä sijainneista. Edellytykset, jotka on täytettävä, ovat:

  1. JavaScript-merkkijono on ladattava käyttämällä XMLHttpRequest tai Fetch, ja paluukoodi on suoritettava.
  2. Alkua ei voida rajoittaa sivulla, esimerkiksi käyttämällä sisällön suojauskäytäntödirektiivejä, ja lopullista pyynnön URL-osoitetta ei voida vahvistaa ennen suorittamista.
  3. Koodin alkuperässä on oltava palvelinpuolen avoin uudelleenohjaus tai siinä on oltava mielivaltaisen käyttäjän sisältö.

Ominaisuuksia, jotka täyttävät kaikki kolme vaatimusta, ovat muun muassa Google Maps, Gmail tai Google Images. Konseptikonsepti julkaistiin kirjoittajan verkkosivustolla, ja voit kokeilla sitä Google Mapsissa varmistaaksesi, että se toimii.

Yritin hyödyntää Chromessa ja Firefoxissa, mutta en saanut sitä toimimaan. Lawrence Abrams Bleeping Computerilla onnistui kuitenkin saamaan sen toimimaan.

Päättävät sanat

Hyökkäyksellä on toinen vaatimus, koska se luottaa suodattimiin. Sisällön estäjän käyttämien suodattimien luetteloon on lisättävä manipuloitu suodatin. Kaksi yleisintä vaihtoehtoa ovat, että käyttäjät lisäävät suodattimia manuaalisesti sisällön estäjiinsä tai että manipuloitu suodatin on ladattujen suodatusluettelossa.

Toinen vaihtoehto näyttää todennäköisemmältä, etenkin tapauksissa, joissa käyttäjät lataavat muita luetteloita laajennuksiin. Listaa ei manipuloida ensimmäistä kertaa, mutta se ei tapahdu kovin usein.

Aihe ei vaikuta laajennukseen uBlock Origin, koska se ei tue $ rewrite -toimintoa.