OWASP DVWA – Cross Site Request Forgery (CSRF) (Düşük Seviye): GET Metodu ile Kimlik Bilgilerini Taşıyan Sayfada CSRF Zafiyetinin İstismar Edilmesi

Web uygulamaları sızma testleri sırasında hedef uygulama üzerindeki bir kontrol eksikliği sebebi ile oturum açmış kullanıcı yetkileri ile işlem gerçekleştirilebilir. Bu yazıda, OWASP DVWA (Damn Vulnerable Web App) üzerindeki düşük zorluk seviyesindeki Cross Site Request Forgery (CSRF) açıklığı istismar edilecek ve hedef uygulamayı kullanan kurbanın parolası değiştirilecektir.

Mevcut uygulamada herhangi bir kontrol (eski parolayı sormak gibi) olmadan parola değiştirilebilmektedir. Parola değişikliği için belirlenen parola (“deneme123” gibi) yazıldığında, elde edilen URL ve ekran görüntüsü aşağıdaki gibidir.

http://10.10.2.156/dvwa/vulnerabilities/csrf/?password_new=deneme123&password_conf=deneme123&Change=Change#

 

Burp Suite ile yakalanan talep içeriğinde de görüldüğü gibi, parola URL içerisinde (GET metodu ile) taşınmakta ve yeni parola bu şekilde belirlenmiş olmaktadır.

 

Oturumu açık bir kullanıcı parolasını değiştirmek istediğinde URL içerisindeki parola bilgisini güncellemesi yeterli olacaktır. Yani, kullanıcı parolasını “Aa123456” yapmak isterse kullanıcının aşağıdaki linke tıklaması yeterli olacaktır.

http://10.10.2.156/dvwa/vulnerabilities/csrf/?password_new=Aa123456&password_conf=Aa123456&Change=Change#

 

Ancak bu durum saldırı amacı ile de kullanılabilir. Saldırgan, kurbana aşağıdaki URL’i göndererek tıklamasını sağladığında, kurban eski parolası ile bir daha oturum açamayacaktır. Bunun yanında saldırgan ise kendisinin belirlediği yeni parola (“Parola12345”) ile kurban kullanıcı gibi oturum açabilecektir.

http://10.10.2.156/dvwa/vulnerabilities/csrf/?password_new=Parola12345&password_conf=Parola12345&Change=Change#

 

Eğer bu link doğrudan tıklamak yerine, bir şekilde çağırılırsa da yine link tıklanmış gibi CSRF zafiyeti barındıran sayfaya talepte bulunulur ve parola değişikliği gerçekleşir. Örneğin bir web sitesindeki resim dosyası, aşağıda da görüldüğü gibi, kaynak olarak CSRF’li sayfayı gösterirse bu siteye bir talepte bulunulur.

<img src=”http://10.10.2.156/dvwa/vulnerabilities/csrf/?password_new=Parola12345&password_conf=Parola12345&Change=Change#” width=”0″ height=”0″>

Bu durum kötüye kullanılabilir. Saldırgan bir URL’i kurbana doğrudan tıklatmak yerine, kurbanı hazırladığı bir web sayfasına da yönlendirebilir. Saldırgana ait bu web sayfasındaki bir resim de CSRF zafiyeti barındıran sayfaya talepte bulunursa kurbanın parolası yine değişmiş olur. Çünkü bu talebi yapacak olan taraf web sayfasına giren ve resmin gösterileceği kurbandır. Saldırganın sitesindeki resim dosyası aşağıdaki gibi olabilir.

Örneğin; 10.10.2.128 IP adresi saldırganın yönetiminde olan bir web sitesi olduğu durumda, saldırganın kurbana gönderdiği link aşağıdaki gibi olsun.

http://10.10.2.128/oltalama.html

Bu linke tıklandığında sayfa içerisindeki gizli (boyutları 0x0 olarak belirtilmiş) resim dosyası CSRF zafiyeti barındıran sayfaya (10.10.2.156 sunucusuna) bir talepte bulunacaktır. Eğer kurbanın zafiyeti barındıran uygulamada oturumu açıksa bu talebi yapan kullanıcının oturum bilgileri ile talep gerçekleşecek ve parola saldırganın belirlediği şekilde ayarlanmış olacaktır. Saldırgana ait oltalama sayfasının kaynak kodu aşağıdaki gibi olabilir.

 

İlgili Kaynak Kod:

 

 

Kaynak:

http://www.includekarabuk.com/kategoriler/DVWAUygulamasi/Ders-7—Cross-Site-Request-Forgery-Low-Level.php

 

 

 

Yazarın Bilgileri

Abdulkerim Demir
Abdulkerim Demir

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.