Uvod v CSRF?

CSRF, XSRF ali referenca kriznega križa je vrsta napada, ki se zgodi na spletnem mestu, ko zlonamerno spletno mesto svojo zahtevo prenese na drugo spletno mesto ali spletno aplikacijo, ki ima pristnega uporabnika. Pri tej vrsti napada napadalec z uporabo pristnega brskalnika, ki ga je overil žrtev, lahko dostopa do spletnega mesta v celoti ali delno.

Kako deluje?

  • Deluje le, če je potencialna žrtev overjena.
  • Napadalec lahko vstopi na spletno mesto tako, da zaobide postopek preverjanja pristnosti z napadom CSRF.
  • Napadi CSRF začnejo uporabljati v scenarijih, ko žrtev z dodatnimi pravicami izvede neko dejanje, drugi pa ne more dostopati ali izvajati teh dejanj. Na primer, spletno bančništvo.

CSRF Attack se izvaja v dveh glavnih delih

  • Prvi korak je pritegniti uporabnika / žrtev, da klikne povezavo ali naloži stran, ki je zlonamerna. Napadalec uporablja socialni inženiring za izigravanje žrtve.
  • Drugi korak je pretentati žrtev s pošiljanjem ponarejene zahteve brskalniku žrtve. Ta povezava bo preusmerila zakonite zahteve na spletno mesto. Napadalec bo od žrtve dobil vrednosti ali podrobnosti, ki jih mora iskati, žrtev bi ga izpolnila z mislijo, da je zahteva zakonita. Napadalec bo imel tudi podatke o povezanih piškotkih z brskalnikom žrtve.

Ključni pojmi CSRF

  • Napadalec pošilja zlonamerne zahteve na spletno mesto, na katerem uporabnik obišče napadalca, verjame, da je žrtev potrjena glede na določeno spletno mesto.
  • Brskalnik žrtve je overjen proti ciljnemu mestu in se uporablja za usmerjanje zlonamernih zahtev na ciljno mesto.
  • Tukaj brskalnik žrtve ali spletno mesto z uvedenimi preventivnimi metodami CSRF niso ranljivi, prizadeta spletna stran je glavna ranljivost.

Kako lahko preprečimo ponarejanje zahtevkov med spletnimi stranmi (CSRF)?

Obstaja več preventivnih metod CSRF, od katerih jih je nekaj:

  • Odjavite se s spletnimi aplikacijami, medtem ko jih ne uporabljate.
  • Zavarujte svoja uporabniška imena in gesla.
  • Ne dovolite brskalnikom, da bi si zapomnili geslo.
  • Medtem ko delate v aplikaciji in ste v njej prijavljeni, se izogibajte brskanju.

Anti-CSRF tokeni

Najpogostejša izvedba za zaustavitev krivotvorenja med spletnimi stranmi (CSRF) je uporaba žetona, ki je povezan z izbranim uporabnikom in ga lahko najdemo kot skrit obrazec v vsaki državi, dinamično obliko, ki je prisotna v spletni aplikaciji.

1. Ta žeton, ki se imenuje token CSRF, deluje na naslednji način:

  • Naročnik zahteva stran HTML, ki ima obrazec.
  • V odgovor na to zahtevo strežnik doda dva žetona. Enega pošlje kot piškotek, druge žetone pa shrani v polje obrazca, ki je skrito. Ti žetoni se generirajo naključno.
  • Odjemalec pošlje oba žetona nazaj na strežnik, ko odda obrazec. Token piškotka je poslan kot žeton, žeton obrazca pa je poslan znotraj podatkov obrazca
  • Strežnik ne odgovori ali zavrne zahtevo, če v zahtevi ni obeh zahtev.

Zdaj bo napadalec, ki poskuša ponarediti zahtevo, uganiti proti-CSRF žetone skupaj z gesli za preverjanje pristnosti uporabnika. Ti žetoni se čez nekaj časa razveljavijo in ko seja konča. Zaradi tega napadalec ugiba token.

2. isti piškotki spletnega mesta

Obstaja nekaj piškotkov, povezanih z izvorom ali spletnim mestom, in ko je zahteva poslana temu določenemu izvoru, se piškotki pošljejo skupaj z njim. Takšne zahteve imenujemo navzkrižne zahteve. Med tem postopkom se piškotki pošiljajo tretjim osebam, kar omogoča napade CSRF.

3. Isti atribut piškotka spletnega mesta

  • Za preprečitev napadov CSRF je mogoče uporabiti isti atribut piškotka spletnega mesta. Onemogoči uporabo tretjih oseb za določen piškotek.
  • To stori strežnik med nastavitvijo piškotka; Nato brskalnik zahteva, da piškotek pošlje samo, če uporabnik neposredno uporablja spletno aplikacijo.
  • Če nekdo poskuša nekaj zahtevati od spletne aplikacije, brskalnik piškotka ne bo poslal.
  • Vendar pa prepreči napad CSRF.

To ima omejitev, isti piškotki spletnih mest niso podprti v sodobnih brskalnikih, medtem ko spletne aplikacije, ki uporabljajo piškotke istega mesta, v starejših brskalnikih niso podprte.

Primeri CSRF

Spodaj smo razložili nekaj primerov CSRF:

1. Uporaba zahtevkov GET:

Recimo, da ste uvedli in zasnovali spletno mesto, bank.com, za izvajanje dejanj, kot so spletne transakcije, z uporabo GET zahtev. Zdaj lahko uporablja pametni napadalec, ki zna izdelati zlonamerni URL element, da brskalnik tiho naloži stran

Primer slikovnega elementa HTML, ki vsebuje zlonamerni URL:

2. Enako od spodnje tehnike lahko uporabimo enako:

  • S pošiljanjem e-pošte z vsebino HTML
  • Z zasaditvijo skripta ali zlonamernega URL-ja na strani, ki jih bo uporabnik verjetno obiskal med spletnimi transakcijami.

3. Uporaba zahtevkov POST

Glede zahtev HTTP POST obstaja splošno napačno prepričanje, da je mogoče napade CSRF preprečiti tako, da dovolijo zahteve HTST POST, kar dejansko ni res. Napadalec lahko ustvari obrazec s pomočjo HTML ali JavaScript in uporabi funkcijo samodejnega oddajanja, da pošlje zahtevo POST, ne da bi uporabnik zahteval, da klikne gumb za oddajo.

Zaključek

Piškotki so ranljivi, saj se samodejno pošljejo z zahtevo, kar napadalcem omogoča izvajanje CSRF in pošiljanje zlonamernih zahtev. Učinek ranljivosti CSRF je odvisen tudi od privilegije žrtve, katere piškotek se pošilja z zahtevo napadalca. Medtem ko iskanje podatkov ni glavni obseg napada CSRF, bodo spremembe stanja zagotovo negativno vplivale na izkoriščanje spletne aplikacije. Zato svetujemo, da preprečite, da bi vaše spletno mesto uporabljalo preventivne metode za zaščito vašega spletnega mesta pred CSRF.

Priporočeni članki

To je vodnik o tem, kaj je CSRF. Tu smo razpravljali o ključnem konceptu, tokenih proti CSRF, njegovem delovanju in primerih CSRF. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Kaj je hibernacija Java?
  2. Kaj je ASP.NET?
  3. Kaj je AWS Lambda?
  4. Kaj je XHTML?