Medsebojno ponarejanje zahtev (CSRF) je eden najstarejših načinov izkoriščanja ranljivosti spletnega mesta. Cilja na strežniška spletna stikala, ki običajno zahtevajo preverjanje pristnosti, kot je prijava. Med napadom CSRF želi napadalec prisiliti svojo žrtev, da v njenem imenu vloži nepooblaščeno, zlonamerno spletno zahtevo.

Šibke ali slabe varnostne prakse spletnega mesta in neprevidnost na uporabnikovi poti so nekateri najpogostejši vzroki za uspešen napad CSRF.

Poglejmo, kaj je napad CSRF in možne načine, kako si ga lahko preprečite kot razvijalec ali kot uporabnik.

Kako napadi CSRF vplivajo na vas?

CSRF je napad, ki se uporablja za izvajanje nepooblaščenih zahtev med spletnimi dejanji, ki zahtevajo prijavo ali overjanje uporabnika. Napadi CSRF lahko izkoristijo ID-je sej, piškotke in druge ranljivosti na strežniku za krajo uporabniških poverilnic.

Omogočanje postopkov proti CSRF na primer preprečuje zlonamerne interakcije med domenami.

Ko se ta ovira zlomi, lahko napadalec hitro izkoristi uporabnikov ID seje s pomočjo piškotkov, ki jih ustvari uporabnikov brskalnik, in na ranljivo spletno mesto vdela skriptno oznako.

Z manipulacijo z ID-jem lahko napadalec obiskovalce tudi preusmeri na drugo spletno stran ali izkorišča metode socialnega inženiringa na primer e-pošto za pošiljanje povezav, ki žrtev spodbuja k prenosu škodljive programske opreme

Kaj je socialni inženiring? Tukaj je opisano, kako bi vas lahko vdrli

Spoznajte, kako lahko socialni inženiring vpliva na vas, ter običajne primere, ki vam pomagajo prepoznati in biti varni pred temi shemami.

Ko žrtev izvede takšna dejanja, pošlje zahtevo HTTP na stran uporabnikove storitve in dovoli dejanje zahteve v korist napadalca. Za nič hudega slutečega uporabnika je to lahko uničujoče.

Uspešen napad CSRF lahko povzroči, da pooblaščeni uporabniki napadalcu izgubijo poverilnice za dostop, zlasti med strežniškimi dejanji, kot so zahteve za spremembo gesla ali uporabniškega imena. V slabših scenarijih napadalec prevzame celotno sejo in deluje v imenu uporabnikov.

CSRF je bil uporabljen za ugrabitev transakcij prek spletnih skladov ter spreminjanje uporabniških imen in gesel, zaradi česar uporabniki izgubijo dostop do prizadete storitve.

Kako napadalci ugrabijo vaše seje z CSRF: primeri

Glavni cilji napadov CSRF so spletna dejanja, ki vključujejo avtentikacijo uporabnika. Da bi bil uspešen, potrebuje nenamerna dejanja žrtve.

Med napadom CSRF so glavni cilji napadalca akcije GET, DELETE in PUT ter ranljive zahteve POST.

Poglejmo pomen teh izrazov:

  • GET: Zahteva za zbiranje rezultata iz baze podatkov; na primer iskanje v Googlu.
  • POST: Običajno za oddajo zahtevkov prek spletnih obrazcev. Zahteva POST je pogosta med uporabnikovo registracijo ali prijavo, sicer znano kot preverjanje pristnosti.
  • IZBRIŠI: Če želite odstraniti vir iz baze podatkov. To storite vsakič, ko izbrišete račun iz določene spletne storitve.
  • PUT: Zahteva PUT spremeni ali posodobi obstoječi vir. Primer je spreminjanje imena na Facebooku.

V praksi napadalci uporabljajo ugrabitev sej za varnostno kopiranje napada CSRF. Pri uporabi te kombinacije lahko napadalec z ugrabitvijo spremeni žrtvin IP-naslov.

Sprememba naslova IP nato žrtev prijavi na novo spletno mesto, kjer je napadalec vstavil zavajajočo povezavo, ki pošlje repliciran obrazec ali spremenjeno zahtevo strežnika, ki jo je ustvaril prek CSRF.

Nato nič hudega sluteči uporabnik misli, da preusmeritev prihaja od ponudnika storitev, in klikne povezavo na spletni strani napadalca. Ko to storijo, hekerji predložijo obrazec ob nalaganju strani brez njihove vednosti.

Primer napada GET CSRF

Predstavljajte si, kako poskušate opraviti spletno plačilo prek nezavarovane platforme za e-poslovanje. Lastniki platforme uporabljajo zahtevo GET za obdelavo vaše transakcije. Ta poizvedba GET bi lahko izgledala takole:

https://websiteurl/pay? znesek = 10 USD & podjetje = [račun podjetja ABC]

Ugrabitelj vam lahko zlahka ukrade transakcijo s spreminjanjem parametrov zahteve GET. Za to vse, kar potrebujejo, je, da svoje ime zamenjajo za svoje, še huje pa spremenijo znesek, ki ga nameravate plačati. Nato prvotno poizvedbo prilagodijo na nekaj takega:

https://websiteurl/pay? znesek = 20000 USD & podjetje = [račun napadalca]

Ko kliknete povezavo do te spremenjene zahteve GET, na koncu opravite nenamerni prenos na račun napadalca.

Transakcija z zahtevami GET je slaba praksa, zaradi česar so dejavnosti ranljive za napade.

Primer napada POST na CSRF

Mnogi razvijalci pa menijo, da je uporaba zahteve POST varnejša za izvajanje spletnih transakcij. Čeprav je to res, je žal tudi zahteva POST dovzetna za napade CSRF.

Za uspešen ugrabitev zahteve POST potrebujete napadalcu le vaš trenutni ID seje, nekaj ponovljenih nevidnih obrazcev in včasih malo socialnega inženiringa.

Na primer, obrazec zahteve za POST je lahko videti takole:







Vendar pa lahko napadalec zamenja vaše poverilnice tako, da ustvari novo stran in spremeni zgornji obrazec v to:









V manipulirani obliki napadalec vrednost polja zneska nastavi na "30000" in zamenja številka računa prejemnika na svoj račun, predloži obrazec ob nalaganju strani in skrije polja obrazca uporabnik.

Ko ugrabijo to trenutno sejo, vaša stran s transakcijo sproži preusmeritev na stran napadalca, ki vas pozove, da kliknete povezavo, za katero veste, da jo boste najverjetneje obiskali.

S klikom na to se naloži predložitev repliciranega obrazca, ki prenese vaša sredstva na račun napadalca. To pomeni, da vam ni treba klikniti gumbov, kot je »pošlji«, da se izvede transakcija, saj JavaScript samodejno stori to ob nalaganju naslednje spletne strani.

Napadalec lahko tudi pripravi e-poštno sporočilo, vdelano v HTML, ki vas pozove, da kliknete povezavo in izvedete isto oddajo obrazca za nalaganje strani.

Drugo dejanje, ki je ranljivo za napad CSRF, je uporabniško ime ali sprememba gesla, primer zahteve PUT. Napadalec ponovi obrazec vaše zahteve in vaš e-poštni naslov nadomesti z njihovim.

Nato vam ukradejo sejo in vas preusmerijo na stran ali pa vam pošljejo e-poštno sporočilo, ki vas pozove, da kliknete privlačno povezavo.

Ta nato predloži manipuliran obrazec, ki pošlje povezavo za ponastavitev gesla na hekerjev e-poštni naslov namesto na vaš. Na ta način heker spremeni vaše geslo in vas odjavi iz računa.

Kako preprečiti napade CSRF kot razvijalec

Eden najboljših načinov za preprečevanje CSRF je uporaba pogosto spreminjajočih se žetonov, namesto da bi bili odvisni od piškotkov seje za izvajanje spremembe stanja na strežniku.

Sorodno: Brezplačni vodniki za razumevanje digitalne varnosti in zaščito vaše zasebnosti

Številni sodobni zaledni okviri ponujajo varnost pred CSRF. Torej, če se želite sami izogniti tehničnim zahtevam glede okrepitve CSRF, se tega lahko enostavno lotite z uporabo ogrodja na strani strežnika, ki so opremljena z vgrajenimi žetoni proti CSRF.

Ko uporabljate žeton anti-CSRF, strežniške zahteve generirajo naključne nize namesto bolj statičnih ranljivih piškotkov seje. Tako lahko svojo sejo zaščitite pred ugrabiteljem.

Uvedba dvofaktorskega sistema za preverjanje pristnosti (2FA) za izvajanje transakcij v vaši spletni aplikaciji prav tako zmanjšuje možnosti za CSRF.

CSRF je mogoče sprožiti s skriptiranjem na več mestih (XSS), ki vključuje vstavljanje skriptov v uporabniška polja, kot so obrazci za komentarje. Da bi to preprečili, je dobra praksa, da omogočite samodejno izhod HTML v vseh poljih uporabniškega obrazca na vašem spletnem mestu. To dejanje preprečuje, da bi polja obrazcev interpretirala elemente HTML.

Kako preprečiti napade CSRF kot uporabnik

Kot uporabnik spletne storitve, ki vključuje preverjanje pristnosti, imate svojo vlogo pri preprečevanju napadalcem, da vam ukradejo poverilnice in seje tudi prek CSRF.

Prepričajte se, da med dejavnostmi, ki vključujejo prenos sredstev, uporabljate zaupanja vredne spletne storitve.

Poleg tega uporabite varni spletni brskalniki ki ščitijo uporabnike pred izpostavljenostjo sejam, pa tudi varne iskalnike, ki ščitijo pred uhajanjem podatkov o iskanju.

Sorodno: Najboljši zasebni iskalniki, ki spoštujejo vaše podatke

Kot uporabnik ste lahko tudi odvisni od drugih avtentifikatorjev, kot je Google Authenticator ali njegove druge možnosti za preverjanje vaše identitete prek spleta.

Čeprav se morda počutite nemočno, da preprečite, da bi napadalec ugrabil vašo sejo, lahko vseeno pomagate to preprečite tako, da zagotovite, da vaš brskalnik ne shranjuje podatkov, kot so gesla in druge prijave podrobnosti.

Povečajte svojo spletno varnost

Razvijalci morajo med razvojem in uvajanjem redno preizkušati spletne aplikacije glede kršitev varnosti.

Vendar je običajno, da uvedemo druge ranljivosti in hkrati skušamo preprečiti druge. Zato bodite previdni, da med poskusom blokiranja CSRF niste kršili drugih varnostnih parametrov.

E-naslov
5 Orodja za gesla za ustvarjanje močnih geslov in posodobitev varnosti

Ustvarite močno geslo, ki si ga boste lahko zapomnili pozneje. S temi aplikacijami danes nadgradite svojo varnost z novimi močnimi gesli.

Sorodne teme
  • Varnost
  • Spletna varnost
O avtorju
Idowu Omisola (46 objavljenih člankov)

Idowu je navdušen nad vsemi pametnimi tehnologijami in produktivnostjo. V prostem času se poigrava s kodiranjem in preklopi na šahovnico, ko mu je dolgčas, a se občasno rad tudi odmakne od rutine. Njegova strast do tega, da ljudem kaže pot okoli sodobne tehnologije, ga spodbuja, da piše več.

Več od Idowu Omisola

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.