DOM-XSS-vika, joka vaikuttaa tinderiin, Shopifyyn, Yelpiin ja muihin


Turvallisuustutkijaryhmämme tutki treffisovellusten asiakaspuolen tietoturvaa, ja yksi pääpainokohteista oli Tinder.

Kun ensimmäiset tiedusteluvaiheet oli suoritettu, löydettiin Tinder-toimialue, jossa oli useita asiakaspuolen tietoturvaongelmia - tarkoitus hakkerit voivat käyttää käyttäjän profiileja ja tietoja.

Heti näiden haavoittuvuuksien löytämisen jälkeen otimme yhteyttä Tinderiin heidän vastuullisen paljastamisohjelmansa kautta ja aloimme työskennellä heidän kanssaan.

Saimme tietää, että haavoittuva päätepiste ei ole Tinderin omistama, vaan branch.io, määrittelyalusta, jota käyttävät monet suuret yritykset ympäri maailmaa. Tinder-turvallisuusryhmä auttoi meitä ottamaan yhteyttä heihin, ja vastaavasti he ovat laatineet oikea-aikaisen korjaustiedoston.

Kaivamalla syvemmälle, huomasimme, että monet suuret verkkosivustot jakoivat haavoittuvan päätepisteen koodissaan ja verkkotunnuksissaan, mukaan lukien Shopify, Yelp, Western Union ja Imgur. Tämä tarkoittaa, että jopa 685 miljoonaa käyttäjää voi olla vaarassa.

Vaikka virhe on jo korjattu, jos olet äskettäin käyttänyt Tinderiä tai jotain muuta kyseistä sivustoa, suosittelemme tarkistamaan, ettei tilillesi ole tehty vaaraa. On hyvä idea vaihtaa salasanasi ASAP.

Yksityiskohdat:

DOM-pohjainen XSS-haavoittuvuus, joka tunnetaan myös nimellä ”type-0 XSS”, on DOM: n sisällä oleva sivustojenvälisten komentosarjojen haavoittuvuusluokka. Kyseessä on hyökkäyksen tyyppi, jossa hyökkäyksen hyötykuorma suoritetaan DOM-ympäristön muuttamisen seurauksena uhrin selaimella, etenkin dynaamisessa ympäristössä. DOM-pohjaisessa XSS: ssä hyökkäyksen HTML-lähdekoodi ja vastaus ovat täsmälleen samat. Tämä tarkoittaa, että haitallista hyötykuormaa ei löydy vastauksesta, minkä vuoksi selaimen sisäisten XSS-lieventämisominaisuuksien, kuten Chromen XSS-tarkastajan, suorittaminen on erittäin vaikeaa..

Voitko havaita haavoittuvuuksia??

koodi

Se, että haavoittuvuus on DPM-pohjainen ja branch.io ei vieläkään käytä CSP: tä, teki nämä haavoittuvuudet helpoksi hyödyntää missä tahansa haluamassamme selaimessa.

Tämä tarkoitti, että muokkaamalla uudelleenohjausstrategiaa erityisesti muotoillulle hyötykuormalle DOM: n manipuloimiseksi.

1. DOM XSS

Alkuperäinen löytö oli esimerkiksi päätepiste, https://go.tinder.com/amp-iframe-redirect oli alttiina useille haavoittuvuuksille (sche_redirect & redirect_strategy GET-parametrit hallitsevat div-sisältöä).

redirect_strategy on “INJECTIONA” ja sche_redirect on “INJECTIONB” yllä olevasta koodista.

Tämä tarkoitti, että muokkaamalla redirect_strategy dom-xss-hyötykuormaksi, oli mahdollista suorittaa asiakaspuolen koodi Tinder-verkkotunnuksen yhteydessä missä tahansa selaimessa:
https://go.tinder.com/amp-iframe-redirect?scheme_redirect=http://google.com&redirect_strategy = 1)% 7B% 0Aalert (1)% 3B //
tekee DOM-muodossa seuraavasti:

jos (1) {hälytys (1); // && ”INJECTIONA”) {

var jäsennin = document.createElement ( ’a’);

parser.href = ”INJECTIONA”;

var protokolla = parser.protocol.toLowerCase ();

vian kuvakaappaus

2. validoiProtokol () ja validoi () ohitus

Huomaa myös, kuinka validateProtocol () käyttää indexOf-ohjelmaa tarkistaaksesi järjestelmät - indexOf () -menetelmä palauttaa merkkijonossa määritetyn arvon ensimmäisen esiintymiskohdan. Tämä menetelmä antaa -1, jos etsittävä arvo ei koskaan tapahdu. Sitä voidaan kuitenkin huijata käyttämällä javascriptiä: //% 0aalert (0) //good.com/https:// - molemmat validointitoiminnot voidaan ohittaa, koska indexOf löytää ”https: //”

var jäsennin = document.createElement ( ’a’);

parser.href = url;

var protokolla = parser.protocol.toLowerCase ();

if (('javascript:', 'vbscript:', 'data:'). indexOf (protokolla) < 0) {

palata url;

}

....

palauta nolla;

jos (['Http:', 'https:']. IndexOf (protokolla) < 0) {

window.top.location = vahvista (“http://google.com”);

}

Joten miten tämä vika vaikutti enemmän kuin Tinder?

go.tinder.com on alias custom.bnc.lt: lle, Branch.io-resurssille. Ja monien muiden yritysten aliakset osoittavat siihen.

Mainitaan muutamia verkkosivustoja, joihin tämä haavoittuvuus vaikuttaa: RobinHood, Shopify, Canva, Yelp, Western Union, Letgo, Cuvva, imgur, Lookout, fair.com ja muut.

Haaran haavoittuvuus on nyt korjattu kaikkien verkkotunnuksille nopeaan vastaukseen, jonka saimme sivuliikkeen turvallisuustiimiltä.

Muut viimeaikaiset tutkimuksemme:

Onko Panama-pohjainen NordVPN todella amerikkalainen CloudVPN-niminen yritys?

Kriittinen RCE-haavoittuvuus löytyy yli miljoonasta GPON-kotireitittimestä

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me