Filehost.ro - gazduire fisiere
Ne-am mutat pe xhackers.4umer.com
Ne-am mutat pe xhackers.4umer.com
Nou pe simpatie:
Anne98 la Simpatie.ro
Femeie
25 ani
Buzau
cauta Barbat
27 - 52 ani
Ne-am mutat pe xhackers.4umer.comReguliInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
Ne-am mutat pe xhackers.4umer.com / Tutoriale /

Despre CSRF

Pagini: 1 Moderat de Bloody
#1
ß®£αK£®™
Administrator
Postari: 311
Ce inseamna Cross-Site Request Forgery ?

Cross-Site Request Forgery (se mai gaseste si sub numele de XSRF sau CSRF) funtioneaza prin exploatarea
increderii pe care un site o are in user. Taskurile unui site sunt legate de obicei de niste url-uri
specifice (ex:http://site/stoc?cumpara=100&stoc=ebay) care permit rularea unor actiuni specifice,

atunci cand sunt cerute. Daca un user este logat intr-un site iar atacatorul pacaleste browserul prin
crearea unui request de genul siteului dat in exemplul de mai sus, atunci task-ul este indeplinit ca
si cum ar veni din partea acelui user logat. De obicei, atacatorul introduce un html sau javascript
malicios intr-un email sau intr-un website pentru a executa un asftel de request fara ca victima sa aibe habar.
Acest lucru va fi facut ori direct, ori printru xss. Se mai poate actiona si prin vulnerabilitati in
bbcode sau in orice alt limbaj markup.

Cum se face un atac CSRF

Cele mai populare metode sunt executarea atacurilor prin tagul de imagine din HTML sau image object-ul
din Javascript. De obicei atacatorul le introduce intr-un email sau website astfel incat in momentul
in care victima incarca acea pagina sau email, ele vor crea un web request catre orice link pe care
atacatorul l-a introdus. Mai jos am pus o lista cu niste modalitati uzuale prin care se poate trimite un request:

Metode html


Cod:
IMG SRC
  <img src="http://host/?comanda">

  SCRIPT SRC
  <script src="http://host/?comanda">

  IFRAME SRC
  <iframe src="http://host/?comanda">



Metode javascript


Cod:
'Image' Object
  <script>
  var x = new Image();
  x.src = "http://host/?comanda";
  </script>

'XMLHTTP' Object (blabla)
  IE
  <script>
  var post_data = 'name=value';
  var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.open("POST", 'http://url/cale/fisier.ext', true);
  xmlhttp.onreadystatechange = function () {
  if (xmlhttp.readyState == 4)
  {
  alert(xmlhttp.responseText);
  }

Mozilla
  <script>
  var post_data = 'name=value';
  var xmlhttp=new XMLHttpRequest();
  xmlhttp.open("POST", 'http://url/cale/fisier.ext', true);
  xmlhttp.onreadystatechange = function () {
  if (xmlhttp.readyState == 4)
  {
  alert(xmlhttp.responseText);
  }
  };
  xmlhttp.send(post_data);
  </script>



Atentie! Aceasta vulnerabilitate nu este limitata numai la browsere. Atacatorul poate introduce
scriptul intr-un document word, intr-un flash, film, rss feeder sau orice alt document care permite scripting.



Cum poti detecta daca un site este vulnerabil la CSRF

Daca siteul permite functionarea url-urilor statice sau requesturilor POST, atunci este posibil sa fie vulnerabil.

Prevenire

Pentru siteuri, trecerea de la o autentificare persistenta (cookieuri sau http auth) la una
tranzitorie (ex un field ascuns afisat la fiecare form) poate ajuta in prevenirea acestor
atacuri. O apropiere similara este includerea unui token secret in form-urile care sunt verificate.

O metoda alternativa este dubla trimitere a cookieurilor insa aceasta metoda merge numai in
requesturile AJAX. Daca un cookie de autentificare este citit folosind javascript inainte ca
post-ul sa fie facut, atunci se vor aplica regulile cross-domain. Daca serverul doreste ca
in acel request sa existe valoarea cookie-ului de autentificare in POST sau in url-ul GET-ului,
atunci acel request ar trebui sa provina de la un domeniu de incredere (trust domain). Intr-o alta
ordine de idei, aceasta metoda forteaza userul sa activeze javascript-ul, blocand-ui singura cale
prin care poate preveni un atac de tip xss.

Folosirea POST-ului in loc de GET nu ofera o protectie mai mare, deoarece javascript-ul poate fi
folosit in furtul acestor request-uri.


Este esential sa se seteze o perioada scurta pentru sesiune. Siteurile care cer userului sa se
logheze inainte sa indeplineasca o actiune, pot seta sesiunea acestuia la o perioada scurta,
de genul 5 minute. Acest lucru reduce probabilitatea unui atac csrf.


_______________________________________
We are Anonymous!
We are legion!
Wait for us!
We X-HackersTeam!
We have the power!
We want respect!
X-HackersTeam is Anonymous
EXPECT US !



 
   
Pagini: 1  
Mergi la