Mikä on sivustojen välinen pyyntöväärennös?

CSRF tai Cross-Site Request Forgery on verkkosivuston haavoittuvuus, jossa hyökkääjä voi saada aikaan toiminnon uhrin istunnossa toisella verkkosivustolla. Yksi asia, joka tekee CSRF: stä niin suuren riskin, on se, että se ei edes vaadi käyttäjän vuorovaikutusta, vaan uhrin tarvitsee vain tarkastella verkkosivua, jossa on hyväksikäyttö.

Vinkki: CSRF lausutaan yleensä joko kirjain kirjaimelta tai "sea surf".

Kuinka CSRF-hyökkäys toimii?

Hyökkäys tarkoittaa, että hyökkääjä luo verkkosivuston, jolla on menetelmä tehdä pyyntö toiselle verkkosivustolle. Tämä voi vaatia käyttäjän toimia, kuten painikkeen painamista, mutta se voi myös olla vuorovaikutteista. JavaScriptissä on tapoja saada toiminto tapahtumaan automaattisesti. Esimerkiksi nolla kertaa nolla pikselin kuva ei näy käyttäjälle, mutta se voidaan määrittää niin, että sen "src" lähettää pyynnön toiselle verkkosivustolle.

JavaScript on asiakaspuolen kieli, mikä tarkoittaa, että JavaScript-koodia ajetaan selaimessa verkkopalvelimen sijaan. Tämän tosiasian ansiosta CSRF-pyynnön tekevä tietokone on itse asiassa uhrin tietokone. Valitettavasti tämä tarkoittaa, että pyyntö tehdään kaikilla käyttäjällä olevilla käyttöoikeuksilla. Kun hyökkäävä verkkosivusto on huijannut uhrin tekemään CSRF-pyynnön, pyyntöä ei käytännössä voi erottaa tavallisesti pyynnön esittäneestä käyttäjästä.

CSRF on esimerkki "hämmentyneestä sijaishyökkäyksestä" verkkoselainta vastaan, kun hyökkääjä, jolla ei ole näitä oikeuksia, huijataan selaimeen käyttämään sen oikeuksia. Nämä käyttöoikeudet ovat istunto- ja todennustunnuksiasi kohdesivustolle. Selaimesi sisällyttää nämä tiedot automaattisesti kaikkiin pyyntöihinsä.

CSRF-hyökkäykset ovat melko monimutkaisia ​​järjestää. Ensinnäkin kohdesivustolla on oltava lomake tai URL-osoite, jolla on sivuvaikutuksia, kuten tilisi poistaminen. Hyökkääjän on sitten laadittava pyyntö suorittaakseen halutun toiminnon. Lopuksi hyökkääjän on saatava uhri lataamaan verkkosivu, jossa on hyväksikäyttö, kun hän on kirjautuneena kohdesivustolle.

CSRF-ongelmien estämiseksi paras asia, jonka voit tehdä, on sisällyttää CSRF-tunnus. CSRF-tunnus on satunnaisesti luotu merkkijono, joka asetetaan evästeeksi. Arvo on sisällytettävä jokaiseen vastaukseen arvon sisältävän pyynnön otsikon ohella. Vaikka CSRF-hyökkäys voi sisältää evästeen, se ei voi mitenkään määrittää CSRF-tunnuksen arvoa otsikon asettamiseen, joten hyökkäys hylätään.