CSRF támadások és a védekezés ellenük

Néhány napja megjelent egy érdekes cikk a Coding Horror oldalán a CSRF támadásokról, támadhatóságokról. Megdöbbentő a kiemelt négy oldal (számomra különösen az ING), érdekes végiggondolni, hogy a hazai pénzintézetek hogyan állnak ezen a téren.

A cikk konkluzióját messzemenőkig támogatom, aki webfejlesztésre adja a fejét, annak kutya kötelessége ismerni és védekezni ellene. Összeszedtem néhány linket / oldalt az évek során, ezt szeretném megosztani. Magáról a CSRF támadásról olvashatsz (bevezetőt) a Wikipedián. Általában PHP-s biztonsági kérdések miértjéről (benne a CSRF-ről) olvashatsz egy zseniális ferdeszeműtől. Az oldal egyébként Terry Chay stílusát ismerve linkgyűjteménynek sem utolsó.

Általános PHP biztonsági kérdésekről a phpsec.org oldalán találsz átfogó leírást. Végül egy könyv, amit el kell olvasnod.

Csak hogy a symfony-t is belekeverjem a dologba, nem véletlenül van benne az sfForm osztályban a CSRF elleni védelem támogatás, és nem véletlenül van bekapcsolva alapértelmezetten. Hasznos, ha az ember megismerkedik és megbarátkozik a használatával (a globális ki-be kapcsolhatóság miatt kissé érdekesen tud működni). Arra érdemes figyelni, hogy a templateben is szerepeljen a CSRF token hidden mezője:

// symfony 1.1
echo $form[sfForm::getCSRFFieldName()]

// symfony 1.2 - ez mellesleg minden rejtett mezőt renderel egy lépésben
echo $form->renderHiddenFields()

Illetve, hogy bind()-elésnél a token is legyen átadva. Végül érdemes kiíratni a globális hibákat, mert a token hiánya globális hibaként jelenik meg a formban:

if ($form->hasGlobalErrors()) :
  echo $form->renderGlobalErrors()
endif;
Kategória: biztonság, php
Címke: , , , ,
Közvetlen link a könyvjelzőhöz.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s