Beyaz.Net İpucu

CSRF Nedir?

CSRF (Cross Site Request Forgery) genel yapı olarak sitenin açığından faydalanarak siteye sanki o kullanıcıymış gibi erişerek işlem yapmasını sağlar.

 

Genellikle GET requesleri ve SESSION işlemlerinin doğru kontrol edilememesi durumlarındaki açıklardan saldırganların faydalanmasını sağlamaktadır.

 

.Aşağıdaki kodda saldırgan img etiketini kullanarak yani urli bir imaj urli olarak göstererek sisteme sanki daha önce kayıt olmuş bir kullanıcı gibi giriş yapmak istemektedir.

 

<img src=”abc.php?giris=dogru”>

 

Bu tür açıkları kapatmak için en pratik yol ise token kullanımıdır.

 

<?php

$_SESSION[“token”] = sha1(rand());

echo'<a href="abc.php?giris=dogru&token=.'$_SESSION["token"]."';

 

 

 

abc.php dosyasındaki session kontrolü ise şu şekilde olmalıdır:

<?php

if($_GET[“giris”]==dogru){

if(isset($_GET[“token”])&&$_GET[“token”]==$_SESSION[“token”]){

session_start();//Dogruysa oturumu baslat

}

else{

echo “token yanlış!”;

}

}

CSRF ile ilgili detaylı makalemiz için tıklayınız.

Kategorideki Güncel Makaleler