Blog
2010 26 Mar

Măsuri de prevenire pentru Cross-Site Request Forgery care nu functioneaza

csrf

Cross-Site Request Forgery (CSRF) este un tip de atac care apare atunci când un website infectat, e-mail, blog, instant message, sau program provoaca browser-ul utilizatorului web sa efectueze o acţiune nedorita pe un site de încredere unde utilizatorul este autentificat.

 

Cateva metode de prevenire care nu functioneaza :

Folosind un Cookie Secret

Amintiţi-vă că toate cookie-urile, chiar si cele secrete, vor fi prezentate împreună cu fiecare cerere. Toate jetoanele de autentificare vor fi prezentate indiferent dacă utilizatorul final a fost sau nu pacalit in prezentarea cererii. În plus, identificatorii sesiunii sunt pur şi simplu folositi drept containere ce asociaza cererea cu un obiect specific sesiunii. Identificatorul de sesiune nu verifică faptul că utilizatorul final a prezentat intentionat cererea.

Acceptarea Numai Cererile POST

Cererile pot fi dezvoltate pentru a accepta numai cererile POST, pentru executarea de logicii de afaceri. Concepţie greşită este aceea că, deoarece atacatorul nu poate construi un link malitios, un atac CSRF nu poate fi executată. Din păcate, această logică este incorectă. Există numeroase metode în care un atacator poate pacali victima sa realizeze o cerere POST falsa, cum ar fi un formular simplu cu valorile ascunse găzduit pe site-ul unui atacator. Acest formular poate fi declanşat în mod automat de către JavaScript sau pot fi declanşat de către victimă, care crede ca formularul va face altceva.

Verificarea Antetul de Referer

Un atacator poate bloca cu uşurinţă trimiterea antetul Referer, şi RFC HTTP stabileste că acest antet este opţional. de asemenea Browserele omit antetul Referer atunci când acestea sunt utilizate sub SSL.

Tranzactii Multi-Step

Tranzacţiile multi-step nu reprezinta o cale adecvata de prevenire a CSRF. Atâta timp cât un atacator poate prezice sau deduce fiecare pas completat al tranzactiei, CSRF este posibil.

Rescrierea URL-ul

Acest lucru ar putea fi privită ca o tehnică utilă de prevenire a CSRF pentru ca atacatorul nu poate ghici Id-ul sesiunii . Cu toate acestea, detaliile utilizatorul este expus prin URL-ul.

scris de