Mi is az a Csrf és miért szükséges védekezni ellenük? A Csrf (Cross-Site Request Forgery) elleni védelemhez több alternatíva is létezik.
A Cross-Site Request Forgery (CSRF) támadás során egy támadó megpróbálja becsapni a felhasználót, hogy egy nem kívánt műveletet hajtson végre egy weboldalon, ahol a felhasználó hitelesítve van. Így a támadó képes lehet olyan műveleteket végrehajtani a felhasználó nevében, amelyekre egyébként nem lenne jogosultsága
Védekezés a CSRF támadások ellen
Néhány módszer a CSRF támadások ellen
Anti-CSRF tokenek használata
A leggyakrabban alkalmazott módszer a webalkalmazásokban. Ennek lényege, hogy minden űrlap és fontos művelet megvalósításához egyedi tokeneket generálunk, és ezeket a tokeneket a session-ben tároljuk, majd az űrlapokban vagy kérésekben elhelyezzük. Amikor a kérés érkezik, a szerver ellenőrzi a tokeneket, és csak akkor fogadja el a kérést, ha a megfelelő token található meg.
HTTP referer ellenőrzése
A szerver ellenőrzi, hogy a kérés honnan érkezett. Ennek hátránya, hogy a referer mező manipulálható, így ez önmagában nem jelent teljes védelmet.
HTTP Only cookie-k használata
Az "HttpOnly" cookie-k csak HTTP kéréseken keresztül érhetők el, és nem érhetők el JavaScript segítségével. Bár ez nem közvetlenül védi a CSRF ellen, segíthet csökkenteni a támadási felületet.
SameSite cookie attribútum használata
A SameSite attribútum lehetővé teszi a fejlesztők számára, hogy meghatározzák, hogy a cookie-k csak akkor kerüljenek elküldésre, ha az eredeti oldalról érkezik a kérés. Ez is segíthet a CSRF elleni védelemben.