CSRF Nedir?

Chern0bly

 
Üye
Katılım
24 Eki 2019
Mesajlar
98
Tepkime puanı
48
Konum
6.Gezegen
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ış!”;


}


}