CSRF – Cross-Site Request Forgery
Miért tud egy másik oldal a felhasználó nevében kérést indítani, és mikor kell CSRF-védelem cookie-alapú session mellett?
Röviden
A CSRF arra épít, hogy a böngésző bizonyos hitelesítési adatokat – tipikusan cookie-kat – automatikusan hozzáadhat egy kéréshez. Ha egy érzékeny művelet csak abból következtet a jogosultságra, hogy a cookie jelen van, egy idegen originről indított kérés veszélyessé válhat.
Mit jelent a csrf – cross-site request forgery?
A CSRF arra épít, hogy a böngésző bizonyos hitelesítési adatokat – tipikusan cookie-kat – automatikusan hozzáadhat egy kéréshez. Ha egy érzékeny művelet csak abból következtet a jogosultságra, hogy a cookie jelen van, egy idegen originről indított kérés veszélyessé válhat.
CSRF bizalmi lánc
01
Másik oldal
02
Böngésző
03
Session cookie
04
Érzékeny endpoint
Hogyan működik a gyakorlatban?
A védelem több rétegből állhat: megfelelő SameSite cookie-beállítás, anti-CSRF token, Origin/Referer ellenőrzés, helyes HTTP metódusok és érzékeny műveleteknél újrahitelesítés. A pontos kombináció az architektúrától függ.
- Állapotváltoztatásra ne használj GET kérést.
- Cookie-alapú authnál ismerd a SameSite viselkedést és a cross-site navigációkat.
- A CSRF token legyen a szerver által ellenőrizhető és ne csak egy kliensoldali flag.
- Nagy kockázatú műveletnél plusz megerősítés indokolt lehet.
Gyakorlati fejlesztői szemlélet
Először tisztázd, hogyan jut el a hitelesítési adat a szerverhez. Egy Authorization headerben kézzel küldött token és egy automatikusan csatolt cookie más CSRF-profilt ad, miközben más kockázatokat hozhat.
Gyakori hibák és félreértések
- A CORS-t CSRF-védelemnek tekinteni.
- Minden POST-ról azt feltételezni, hogy automatikusan biztonságos.
- A SameSite egyetlen értékét univerzális megoldásnak venni.
Források és szabványok
A technikai részletekhez elsődleges szabványokat és karbantartott hivatalos dokumentációt használok. Frameworkök, böngészők és webes API-k idővel változhatnak, ezért implementálás előtt mindig ellenőrizd az aktuális dokumentációt is.
Kapcsolódó ByBence Academy