Digitalni marketing

CSRF (Cross-Site Request Forgery) Napadi i Tehnike Obrane

  • 15 Mart 2025
  • 24 min read
  • Tim Hostragons
CSRF (Cross-Site Request Forgery) Napadi i Tehnike Obrane

Ovaj blog post detaljno istražuje CSRF (Cross-Site Request Forgery) napade, koji su važan dio web sigurnosti, kao i tehnike obrane protiv tih napada. Objašnjava se što je CSRF (Cross-Site Request Forgery), kako se napadi odvijaju i koje posljedice mogu imati. Također, fokusira se na mjere koje se mogu poduzeti protiv ovih napada, alate i metode koje se mogu koristiti u obrani. Članak pruža praktične savjete za zaštitu od CSRF (Cross-Site Request Forgery) napada, ističući važnost teme kroz aktualne statistike. Na kraju, pruža sveobuhvatan vodič s najučinkovitijim metodama za borbu protiv CSRF (Cross-Site Request Forgery) i prijedlozima akcijskih planova za čitatelje.

Što je CSRF (Cross-Site Request Forgery)?

CSRF (Cross-Site Request Forgery) je sigurnosna ranjivost koja omogućuje zloćudnoj web stranici da izvrši neovlaštene radnje na drugoj web stranici na kojoj je korisnik prijavljen. Napadač može slati neovlaštene zahtjeve u ime žrtve, provodeći radnje bez njezina znanja ili odobrenja. Na primjer, može promijeniti žrtvin lozinku, izvršiti prijenos novca ili promijeniti e-mail adresu.

CSRF napadi se obično provode putem socijalnog inženjeringa. Napadač uvjerava žrtvu da klikne na zloćudnu vezu ili posjeti zloćudnu web stranicu. Ta web stranica automatski šalje zahtjeve na ciljani web site na kojem je žrtva prijavljena. Preglednik automatski šalje ove zahtjeve na ciljani site, a site pretpostavlja da je zahtjev došao od žrtve.

Karakteristika Opis Metode prevencije
Definicija Slanje zahtjeva bez korisnikovog odobrenja CSRF tokeni, SameSite kolačići
Cilj Usmjeren na prijavljene korisnike Poboljšanje mehanizama provjere
Posljedice Krađa podataka, neovlaštene transakcije Filtriranje ulaza i izlaza
Česta pojava Uobičajena ranjivost u web aplikacijama Redovito provođenje sigurnosnih testova

Za zaštitu od CSRF napada mogu se poduzeti različite mjere. To uključuje korištenje CSRF tokena, SameSite kolačića i traženje dodatne provjere od korisnika za važne radnje. Web programeri trebaju primijeniti ove mjere kako bi zaštitili svoje aplikacije od CSRF napada.

Osnovne informacije o CSRF

  • CSRF omogućuje izvršavanje neovlaštenih radnji bez znanja korisnika.
  • Napadač šalje zahtjeve koristeći identitet žrtve.
  • Često se koriste tehnike socijalnog inženjeringa.
  • CSRF tokeni i SameSite kolačići su važni mehanizmi obrane.
  • Web programeri trebaju poduzeti mjere zaštite svojih aplikacija.
  • Redoviti sigurnosni testovi mogu otkriti ranjivosti.

CSRF predstavlja ozbiljnu prijetnju za web aplikacije, a važno je da programeri poduzmu potrebne mjere kako bi spriječili ove napade. Korisnici se također mogu zaštititi izbjegavanjem klikanja na sumnjive poveznice i korištenjem pouzdanih web stranica.

Opći pregled CSRF napada

CSRF (Cross-Site Request Forgery) napadi omogućuju zloćudnoj web stranici da izvrši radnje na drugoj web stranici na kojoj je korisnik prijavljen, bez znanja ili odobrenja korisnika. Ovi napadi se često provode slanjem neovlaštenih komandi putem web stranice kojoj korisnik vjeruje. Na primjer, napadač može izvršiti prijenos novca u banci ili objaviti post na društvenim mrežama.

  • Karakteristike CSRF napada
  • Mogu se izvesti jednim klikom.
  • Zahtijevaju da korisnik bude prijavljen.
  • Napadač ne može izravno pristupiti korisničkim podacima.
  • Obično uključuju tehnike socijalnog inženjeringa.
  • Zahtjevi se šalju kroz preglednik žrtve.
  • Iskorištavaju slabosti upravljanja sesijama ciljne web aplikacije.

CSRF napadi posebno iskorištavaju sigurnosne slabosti web aplikacija. U ovim napadima, napadač šalje zahtjeve na web stranicu na kojoj je žrtva prijavljena putem zloćudne poveznice ili skripte postavljene u preglednik žrtve. Ovi zahtjevi izgledaju kao da dolaze od korisnika, pa ih web poslužitelj prihvaća kao legitimne. Na taj način, napadač može izvršiti neovlaštene izmjene na korisničkom računu ili pristupiti osjetljivim podacima.

Tip napada Opis Metode prevencije
GET napad temeljen na CSRF Napadač šalje zahtjev putem poveznice. Korištenje AntiForgeryToken, provjera Referera.
POST napad temeljan na CSRF Napadač šalje zahtjev putem obrasca. Korištenje AntiForgeryToken, CAPTCHA.
JSON baziran na CSRF Napadač šalje zahtjev s JSON podacima. Provjera posebnih zaglavlja, CORS politike.
Flash baziran na CSRF Napadač šalje zahtjev putem Flash aplikacije. Onemogućavanje Flash-a, sigurnosne nadogradnje.

Razvijene su različite obrambene mehanizme za sprječavanje ovih napada. Jedna od najčešćih metoda je korištenje AntiForgeryToken. Ova metoda generira jedinstveni token za svaki slani obrazac, potvrđujući da je zahtjev izvršio legitimni korisnik. Druga metoda je korištenje SameSite kolačića. Ovi kolačići se šalju samo s zahtjevima unutar iste web stranice, čime se sprječavaju međusobni zahtjevi. Također, provjera Referer zaglavlja može pomoći u sprječavanju napada.

CSRF napadi predstavljaju ozbiljnu prijetnju web aplikacijama i trebaju se pažljivo razmatrati od strane korisnika i programera. Primjena snažnih obrambenih mehanizama i osvješćivanje korisnika ključno je za smanjenje utjecaja ovih napada. Web programeri trebaju imati na umu sigurnosna načela pri dizajniranju svojih aplikacija i redovito provoditi sigurnosne testove.

Kako se provode CSRF napadi?

CSRF (Cross-Site Request Forgery) napadi uključuju slanje zahtjeva putem preglednika ovlaštenog korisnika bez njegova znanja ili odobrenja. Ovi napadi se provode u web aplikacijama na kojima je korisnik prijavljen (npr. bankovne stranice ili platforme društvenih medija). Napadač može umetnuti zloćudni kod u preglednik žrtve, provodeći radnje bez njezina znanja.

Osnova CSRF napada leži u tome da web aplikacije nemaju dovoljnu sigurnost za provjeru HTTP zahtjeva. Ovo omogućava napadačima da stvaraju lažne zahtjeve i predstavljaju ih kao legitimne korisničke zahtjeve. Na primjer, napadač može uzrokovati da korisnik promijeni lozinku, izvrši prijenos novca ili ažurira svoje podatke profila. Ovi napadi mogu imati ozbiljne posljedice za pojedinačne korisnike, ali i za velike organizacije.

Tip napada Opis Primjer
URL temeljen na CSRF Napadač stvara zloćudni URL i potiče korisnika da klikne na njega. <a href=http://example.com/transfer?to=attacker&amount=1000>Osvojili ste nagradu!</a>
Obrazac temeljen na CSRF Napadač stvara automatski poslan obrazac kako bi prevario korisnika. <form action=http://example.com/transfer method=POST><input type=hidden name=to value=attacker><input type=hidden name=amount value=1000><input type=submit value=Pošalji></form>
JSON temeljan na CSRF Napad se provodi iskorištavanjem sigurnosnih propusta u API zahtjevima. fetch('http://example.com/api/transfer', { method: 'POST', body: JSON.stringify({ to: 'attacker', amount: 1000 ) )
Slika etiketa s CSRF Napadač šalje zahtjev koristeći oznaku slike. <img src=http://example.com/transfer?to=attacker&amount=1000>

Za uspjeh CSRF napada, korisnik mora biti prijavljen na ciljani web site, a napadač treba moći poslati zloćudni zahtjev u korisnikov preglednik. Ovaj zahtjev se obično šalje putem e-pošte, web stranice ili objave na forumu. Kada korisnik klikne na ovaj zahtjev, preglednik automatski šalje zahtjev na ciljani web site, a taj zahtjev se šalje zajedno s korisnikovim identifikacijskim podacima. Stoga je izuzetno važno zaštititi web aplikacije od CSRF napada.

Scenariji napada

CSRF napadi obično se provode kroz razne scenarije. Jedan od najčešćih scenarija je zloćudna veza poslana putem e-pošte. Kada korisnik klikne na ovu vezu, u pozadini se aktivira CSRF napad i izvršavaju se radnje bez korisnikova znanja. Drugi scenarij uključuje napad putem zloćudne slike ili JavaScript koda umetnutog u pouzdanu web stranicu.

Potrebni alati

Za izvođenje ili testiranje CSRF napada mogu se koristiti razni alati. Ovi alati uključuju Burp Suite, OWASP ZAP i razne specijalizirane skripte. Ovi alati pomažu napadačima u stvaranju lažnih zahtjeva, analizi HTTP prometa i otkrivanju sigurnosnih propusta. Sigurnosni stručnjaci također mogu koristiti ove alate za testiranje sigurnosti web aplikacija i identificiranje CSRF ranjivosti.

Koraci za CSRF napad

  1. Identifikacija slabosti u ciljanom web aplikaciji.
  2. Stvaranje zloćudnog zahtjeva na web stranici na kojoj je korisnik prijavljen.
  3. Korištenje tehnika socijalnog inženjeringa kako bi se korisnik natjerao da aktivira zahtjev.
  4. Preglednik korisnika šalje lažan zahtjev na ciljani web site.
  5. Ciljani web site obrađuje zahtjev kao legitimni korisnički zahtjev.
  6. Napadač provodi neovlaštene radnje putem korisničkog računa.

Kako prevenirati?

Postoji nekoliko metoda za prevenciju CSRF napada. Najčešće korištene metode uključuju CSRF tokene, SameSite kolačiće i kolačiće s dvostrukim slanjem. CSRF tokeni generiraju jedinstvenu vrijednost za svaki obrazac ili zahtjev, sprječavajući napadače da kreiraju lažne zahtjeve. SameSite kolačići omogućuju da se kolačići šalju samo s zahtjevima unutar iste web stranice, čime se dodaje dodatna razina zaštite. Dvostruki kolačići zahtijevaju da se ista vrijednost šalje i u kolačiću i u obrascu, otežavajući napadačima stvaranje lažnih zahtjeva.

Osim toga, redovito testiranje sigurnosti web aplikacija i rješavanje sigurnosnih ranjivosti također su važni za sprječavanje CSRF napada. Programeri trebaju razumjeti kako CSRF napadi funkcioniraju i kako ih spriječiti kako bi razvili sigurne aplikacije. Također, korisnici moraju izbjegavati sumnjive veze i osigurati da su web stranice sigurne.

Mogućnosti zaštite od CSRF napada

CSRF (Cross-Site Request Forgery) napadi mogu se spriječiti raznim mjerama koje mogu primijeniti i programeri i korisnici. Ove mjere imaju za cilj spriječiti zloćudne zahtjeve napadača i osigurati sigurnost korisnika. U osnovi, ove mjere fokusiraju se na provjeru legitimnosti zahtjeva i sprečavanje neovlaštenog pristupa.

Za učinkovitu strategiju obrane, postoje mjere koje treba poduzeti na strani poslužitelja i na strani klijenta. Na strani poslužitelja važno je koristiti CSRF tokene za provjeru autentičnosti zahtjeva, ograničiti doseg kolačića s SameSite kolačićima i koristiti kolačiće s dvostrukim slanjem. Na strani klijenta kritično je educirati korisnike da se klone nepoznatih ili nesigurnih veza te pravilno konfigurirati sigurnosne postavke preglednika.

Mjere koje treba poduzeti

  • Korištenje CSRF tokena: Generirajte jedinstveni token za svaku sesiju kako biste provjerili valjanost zahtjeva.
  • SameSite kolačići: Ograničite slanje kolačića samo na zahtjeve unutar iste web stranice kako biste smanjili CSRF rizik.
  • Kolačići s dvostrukim slanjem: Osigurajte da se ista vrijednost nalazi i u kolačiću i u tijelu zahtjeva kako biste ojačali provjeru.
  • Kontrola podrijetla (Origin Header): Provjerite izvor zahtjeva kako biste spriječili neovlaštene zahtjeve.
  • Edukacija korisnika: Podignite svijest korisnika o sumnjivim vezama i e-mailovima.
  • Sigurnosna zaglavlja: Koristite sigurnosna zaglavlja poput X-Frame-Options i Content-Security-Policy za dodatnu zaštitu.

U sljedećoj tablici prikazan je sažetak mjera koje se mogu poduzeti protiv CSRF napada i za koje vrste napada su učinkovite. Ova tablica može pomoći programerima i sigurnosnim stručnjacima da donesu informirane odluke o mjerama koje trebaju primijeniti.

Mjera Opis Učinkovito protiv napada
CSRF tokeni Provjerava valjanost zahtjeva generiranjem jedinstvenog tokena za svaki zahtjev. Osnovni CSRF napadi
SameSite kolačići Osigurava da se kolačići šalju samo s zahtjevima unutar iste web stranice. Međusobno lažno predstavljanje zahtjeva
Kolačići s dvostrukim slanjem Zahtijeva da se ista vrijednost nalazi u kolačiću i tijelu zahtjeva. Krađa ili manipulacija tokena
Kontrola podrijetla Sprječava neovlaštene zahtjeve provjerom izvora zahtjeva. Lažno predstavljanje domena

Važno je napomenuti da bi za potpunu zaštitu od CSRF napada trebalo koristiti kombinaciju ovih mjera. Jedna mjera sama po sebi možda neće biti dovoljna protiv svih vektora napada. Stoga je važno usvojiti pristup višeslojnoj sigurnosti i redovito skenirati sigurnosne propuste. Također, redovito ažuriranje sigurnosnih politika i procedura omogućit će pripremu za nove prijetnje.

Posljedice i efekti CSRF napada

CSRF (Cross-Site Request Forgery) napadi mogu imati ozbiljne posljedice za korisnike i web aplikacije. Ovi napadi omogućuju izvršenje neovlaštenih radnji, stavljajući račune i osjetljive podatke korisnika u opasnost. Napadači mogu iskorištavati radnje koje korisnici izvršavaju nesvjesno, provodeći razne zloćudne aktivnosti. Ova situacija može dovesti do velikih gubitaka ugleda i financijskih gubitaka, ne samo za pojedinačne korisnike, već i za kompanije i organizacije.

Razumijevanje potencijalnih posljedica CSRF napada ključno je za razvoj učinkovitijih mehanizama obrane protiv ovih napada. Napadi mogu varirati od promjene korisničkih postavki, prijenosa novca do objavljivanja neovlaštenog sadržaja. Ove radnje ne samo da mogu narušiti povjerenje korisnika, već mogu i ugroziti vjerodostojnost web aplikacija.

Negativni efekti CSRF-a

  • Preuzimanje računa i neovlašteni pristup.
  • Manipulacija ili brisanje korisničkih podataka.
  • Financijski gubici (neovlašteni prijenosi novca, kupnje).
  • Gubitak ugleda i smanjenje povjerenja korisnika.
  • Zloupotreba resursa web aplikacije.
  • Pravni problemi i pravna odgovornost.

U sljedećoj tablici analiziraju se različiti scenariji CSRF napada i njihovi mogući ishodi:

Scenarij napada Mogući ishodi Zaražena strana
Promjena lozinke Gubitak pristupa korisničkom računu, krađa osobnih podataka. Korisnik
Prijenos novca s bankovnog računa Neovlašteni prijenosi novca, financijski gubici. Korisnik, banka
Objavljivanje na društvenim mrežama Širenje neželjenih ili štetnih sadržaja, gubitak ugleda. Korisnik, društvena mreža
Naručivanje na e-trgovini Neovlaštene narudžbe, financijski gubici. Korisnik, e-trgovina

Ovi ishodi pokazuju koliko ozbiljni mogu biti CSRF napadi. Stoga je važno da web programeri i sistemski administratori proaktivno poduzmu mjere protiv ovih napada i osvijeste korisnike. Primjena snažnih obrambenih mehanizama nužna je za zaštitu podataka korisnika i održavanje povjerenja u web aplikacije.

Važno je napomenuti da učinkovita strategija obrane ne bi trebala biti ograničena samo na tehničke mjere, već i na edukaciju i osvješćivanje korisnika. Jednostavne mjere poput izbjegavanja klikanja na sumnjive poveznice, ne prijavljivanja na nepouzdane web stranice i redovitog mijenjanja lozinki mogu značajno doprinijeti sprječavanju CSRF napada.

Alati i metode obrane od CSRF

Alati i metode obrane od CSRF

CSRF (Cross-Site Request Forgery) napadi zahtijevaju razvoj učinkovite strategije obrane kako bi se osigurala sigurnost web aplikacija. Budući da ovi napadi omogućuju neovlaštene radnje bez znanja korisnika, potrebna je višeslojna i složena strategija obrane. Ovaj odjeljak istražuje različite alate i metode koje se mogu koristiti za sprječavanje i ublažavanje CSRF napada.

Jedan od osnovnih mehanizama zaštite od CSRF napada je model sinhroniziranog tokena (Synchronizer Token Pattern - STP). U ovom modelu, poslužitelj generira jedinstveni token koji se čuva za svaku korisničku sesiju i šalje se zajedno s svakim slanjem obrasca ili zahtjevom za kritične operacije. Poslužitelj uspoređuje token koji dolazi s zahtjevom s tokenom pohranjenim u sesiji kako bi potvrdio legitimnost zahtjeva. Na taj se način sprječavaju lažni zahtjevi koji dolaze s drugih web stranica.

Alati za obranu

  • Model sinhroniziranog tokena (STP): Provjerava autentičnost zahtjeva stvaranjem jedinstvenih tokena za svaki obrazac.
  • Kolačići s dvostrukim slanjem: Sprječavaju CSRF napade slanjem nasumične vrijednosti u kolačiću i u parametrima zahtjeva.
  • SameSite kolačići: Ograničavaju slanje kolačića samo na zahtjeve koji dolaze iz iste web stranice, čime smanjuju CSRF rizik.
  • CSRF biblioteke i okviri: Pružaju gotova rješenja za zaštitu od CSRF u različitim programskim jezicima i okvirima.
  • Provjere zaglavlja zahtjeva (Referer/Origin): Provjeravaju izvor zahtjeva kako bi spriječili zahtjeve iz neautoriziranih izvora.

U sljedećoj tablici prikazana je usporedba različitih metoda obrane od CSRF i detaljne informacije o njihovim karakteristikama. Ove informacije mogu pomoći u odlučivanju koja metoda je najprikladnija za određeni scenarij.

Metoda obrane Opis Prednosti Nedostaci
Model sinhroniziranog tokena (STP) Stvara jedinstvene tokene za svaki obrazac. Visoka sigurnost, široka upotreba Dodatno opterećenje na poslužitelju, upravljanje tokenima
Kolačići s dvostrukim slanjem Koristi istu vrijednost u kolačiću i u parametrima zahtjeva. Jednostavna primjena, kompatibilnost s besdržnim arhitekturama Problemi s potpodručjima, nesuglasice s nekim preglednicima
SameSite kolačići Kolačići se ne šalju s vanjskim zahtjevima. Jednostavna integracija, zaštita na razini preglednika Nekompatibilnost s starijim preglednicima, može utjecati na zahtjeve s različitih izvora
Provjere zaglavlja zahtjeva Provjerava Referer i Origin zaglavlja. Jednostavna provjera, bez dodatnog opterećenja na poslužitelju Manipulacija zaglavljem, niska pouzdanost

Još jedna važna metoda obrane je korištenje kolačića s dvostrukim slanjem (Double Submit Cookies). U ovoj metodi, poslužitelj generira nasumičnu vrijednost i šalje je kao kolačić klijentu, kao i smješta u skriveno polje obrasca. Kada korisnik pošalje obrazac, poslužitelju se šalju i vrijednosti iz kolačića i iz obrasca. Poslužitelj provjerava jesu li ove dvije vrijednosti jednake kako bi potvrdio legitimnost zahtjeva. Ova metoda je posebno pogodna za besdržne aplikacije i ne zahtijeva dodatno upravljanje sesijama na poslužitelju.

SameSite kolačići su također učinkovita metoda obrane protiv CSRF napada. SameSite značajka osigurava da se kolačići šalju samo s zahtjevima iz iste web stranice. Ova značajka automatski blokira CSRF napade koji dolaze iz drugih izvora. Međutim, s obzirom na to da svi preglednici ne podržavaju korištenje SameSite kolačića, preporučuje se njihovo korištenje zajedno s drugim metodama zaštite.

Savjeti za zaštitu od CSRF napada

CSRF (Cross-Site Request Forgery) napadi predstavljaju kritičnu prijetnju za sigurnost web aplikacija. Ovi napadi su osmišljeni kako bi omogućili neovlaštene radnje bez znanja ili odobrenja korisnika. Stoga je važno da programeri i sistemski administratori primjene učinkovite mehanizme zaštite od ovih napada. U nastavku su navedene neke osnovne mjere i savjeti za zaštitu od CSRF napada.

Postoji nekoliko metoda za zaštitu od CSRF napada. Ove metode obično se mogu primijeniti na strani klijenta ili na strani poslužitelja. Jedna od najčešće korištenih metoda je korištenje Modela sinhroniziranog tokena (Synchronizer Token Pattern - STP). U ovoj metodi, poslužitelj generira jedinstveni token za svaku korisničku sesiju, a ovaj token se uključuje u svako slanje obrasca i kritične operacije. Poslužitelj uspoređuje token primljen u zahtjevu s tokenom pohranjenim u sesiji kako bi provjerio valjanost

Bu yazıyı paylaş:

Tim Hostragons

Hosting, sunucu ve alan adı konularında uzman ekibimizden güncel rehberler. Projeniz için doğru çözümü birlikte bulalım.

Kontaktirajte nas