Cross Site Request Forgery (CSRF) zafiyeti, belirli işlemlerin gerçekleştirme şeklinin kurban yetkisi ile saldırgan tarafından hazırlanan zararlı kodlar ile gerçekleştirilmesidir. Bu zafiyet aslında kurbanın etkileşimi ile gerçekleşir.
Aşağıda parola değiştirme işleminin gerçekleştirildiği form görülüyor.
Bu form ile şifremizi değiştirelim ve gönderilen parametrelerin hangi metot ile ve URL alanındaki halini görelim.
Yukarıdaki resimde url alanında gönderilen yeni parola değerleri açık halde gönderiliyor.Bunu aşağıdaki resimde de burp suite aracılığıyla görebiliriz.
Görüldüğü gibi parola değiştirme işlemini asıl gerçekleştiren URL değeri aşağıdaki gibidir:
Şimdi saldırgan olarak düşünelim. Kurbanın login işlemini gerçekleştirdiğini düşünelim ve site içerisinde başka işlemleri gerçekleştiriyor. Kurbanın dağınıklığından veya hazırladığımız zararlı kodun normal bir değermiş gibi algılanmasından faydalanarak kurbana bunu link haline getirdiğimiz bir resim,reklam objesini tıklatarak veya mail atarak gerçekleştirsek ve parola değerini bizim istediğimiz parola ile değiştirsek nasıl olur.
Resmin kaynak koduna baktığınızda şunu göreceksiniz:
Halbuki yaptığınız tek şey reklama tıklamaktı.Tıklama ile beraber parolanız hacker olarak değiştirilecek.Bunun birde bankacılık işlemlerini gerçekleştirirken başınıza geldiğini ve hesabınızdan para çekildiğini düşünün.
Web uygulamalarında yorum alanlarını çok dikkatli kullandırtmak gerekiyor.Bu alanların girdileri ve çıktıları kontrol edilmeden işlem yaptırılırsa tehlikeli saldırılara maruz kalınabilinir.Bunun tipik örnekleri bu yorum alanlarının html destekli olarak kullanıcılara sunulmalarıdır. Html destekli alanlara CSRF-XSS saldırıları çok rahat gerçekleştirilir.
Bir kaç farklı CSRF saldırısını ele alalım.
Bu uygulamayı OWASP-Mutillidae uygulaması üzerinden gerçekleştireceğiz.
Zararlı Kodlar:
Bu kodları uygulamada test edelim.
ikinci uygulamamızda yine mouseover( ) olayının tetiklenmesi durumunda session-oturum düşmesi gerçekleşir.
Zararlı Kod:
Üçüncü uygulamada javascript kodu ile satır eklenir sayfa yenilenir,sayfa yenilendiği sürece satır eklenir. Bu da bir nevi DOS saldırısı gibi sayfanın kullanılamaz hale getirilmesini sağlar.
Görüldüğü gibi yorum alanlarından alınan yorumlar neticesinde ciddi açıklıklar oluştu.Bu nedenle yorum alanlarının girdileri ve çıktıları mutlaka kontrol edilmelidir.
CSRF,Owasp top 10 listesinde hala yerini koyuyor.
Aşağıda parola değiştirme işleminin gerçekleştirildiği form görülüyor.
![r0qY0z.jpg](https://i.hizliresim.com/r0qY0z.jpg)
Bu form ile şifremizi değiştirelim ve gönderilen parametrelerin hangi metot ile ve URL alanındaki halini görelim.
![1p9j71.jpg](https://i.hizliresim.com/1p9j71.jpg)
Yukarıdaki resimde url alanında gönderilen yeni parola değerleri açık halde gönderiliyor.Bunu aşağıdaki resimde de burp suite aracılığıyla görebiliriz.
![NLyY2N.jpg](https://i.hizliresim.com/NLyY2N.jpg)
Görüldüğü gibi parola değiştirme işlemini asıl gerçekleştiren URL değeri aşağıdaki gibidir:
Kod:
dvwa/vulnerabilities/csrf/?password_new=password&password_conf=passwor d&Change=Change#
Şimdi saldırgan olarak düşünelim. Kurbanın login işlemini gerçekleştirdiğini düşünelim ve site içerisinde başka işlemleri gerçekleştiriyor. Kurbanın dağınıklığından veya hazırladığımız zararlı kodun normal bir değermiş gibi algılanmasından faydalanarak kurbana bunu link haline getirdiğimiz bir resim,reklam objesini tıklatarak veya mail atarak gerçekleştirsek ve parola değerini bizim istediğimiz parola ile değiştirsek nasıl olur.
![2OMvqv.jpg](https://i.hizliresim.com/2OMvqv.jpg)
Resmin kaynak koduna baktığınızda şunu göreceksiniz:
Kod:
<a href=http://fbhportal.com/dvwa/vulnerabilities/csrf/?password_new=[COLOR="Red"]hacker[/COLOR]&password_co nf=[COLOR="Red"]hacker[/COLOR]&Change=Change#>
Halbuki yaptığınız tek şey reklama tıklamaktı.Tıklama ile beraber parolanız hacker olarak değiştirilecek.Bunun birde bankacılık işlemlerini gerçekleştirirken başınıza geldiğini ve hesabınızdan para çekildiğini düşünün.
Web uygulamalarında yorum alanlarını çok dikkatli kullandırtmak gerekiyor.Bu alanların girdileri ve çıktıları kontrol edilmeden işlem yaptırılırsa tehlikeli saldırılara maruz kalınabilinir.Bunun tipik örnekleri bu yorum alanlarının html destekli olarak kullanıcılara sunulmalarıdır. Html destekli alanlara CSRF-XSS saldırıları çok rahat gerçekleştirilir.
Bir kaç farklı CSRF saldırısını ele alalım.
Bu uygulamayı OWASP-Mutillidae uygulaması üzerinden gerçekleştireceğiz.
Zararlı Kodlar:
Kod:
<form id="f" action="index.php?page=add-to-your-blog.php" method="post" enctype="application/x-www-form-urlencoded"> <input type="hidden" name="csrf-token" value="best-guess"/> <input type="hidden" name="blog_entry" value="Add this guy to the Wall of Sheep"/> <input type="hidden" name="add-to-your-blog-php-submitbutton" value="TESTING"/> </form> <i onmouseover="window.********.getElementById(\'f\').submit()">Dancing with the stars results </i>
Bu kodları uygulamada test edelim.
![lQoBDb.jpg](https://i.hizliresim.com/lQoBDb.jpg)
ikinci uygulamamızda yine mouseover( ) olayının tetiklenmesi durumunda session-oturum düşmesi gerçekleşir.
Zararlı Kod:
Kod:
<i onmouseover="window.********.********=\'http://localhost/mutillidae/in dex.php?do=logout\'"> How to improve your Facebook status </i>
![4pdYoL.jpg](https://i.hizliresim.com/4pdYoL.jpg)
Üçüncü uygulamada javascript kodu ile satır eklenir sayfa yenilenir,sayfa yenilendiği sürece satır eklenir. Bu da bir nevi DOS saldırısı gibi sayfanın kullanılamaz hale getirilmesini sağlar.
![1p9jOj.jpg](https://i.hizliresim.com/1p9jOj.jpg)
Görüldüğü gibi yorum alanlarından alınan yorumlar neticesinde ciddi açıklıklar oluştu.Bu nedenle yorum alanlarının girdileri ve çıktıları mutlaka kontrol edilmelidir.
CSRF,Owasp top 10 listesinde hala yerini koyuyor.