Server Side Request Forgery – SSRF

Merhaba !!!

Web dünyasında Sql Injection ve XSS ten de başka web uygulama açıkları vardır. Örneğin Server Side Request Forgery.

Öncelikle Server Side Request Forgery (SSRF) nedir ? Türkçe olarak tanımlarsak Sunucu Bazlı İstek Sahteciliği olarak tanımlayabiliriz.

İçeriği ise saldırganın doğrudan yapamadığı işlemleri sunucuya yaptırarak saldırganın sunucuyu sömürmesi diyebiliriz. Burada sunucuya nasıl yaptırıyor ? Web sayfasını yazan kişi yeteri kadar güvenli kod yazmadığı için oluyor. Bir kişi sızma testleriyle alakası olmasa bile eğer kod yazıyorsa güvenli kod yazmayı bilmesi önemlidir.

SSRF ile neler yapabiliriz ?

-Normal de sunucunun önünde güvenlik duvarı olduğu için incelenemeyen portlar SSRF ile güvenlik duvarının arkasından sunucu tarafında izin verilmiş portları inceleyebilir.

-Dosyaları okuyabilir

-Host alt yapılı kimlik sorgulama işlemlerini atlatılabilir

Kullanımını sözel olarak şuan anlatmayacağım. En iyi öğrenmek uygulama için de olur. O yüzden demoya geçelim.

Demo olarak saldırgan makinesi Kali Linux makinesi sunucu tarafında ise diğer bir Linux işletim sistemine sahip bir makine bulunmaktadır.

Senaryomuz şöyle hedef sunucumuz yayınladığı sayfa da bir resim kullanıyor. Bu resmi bir url ile sayfaya çekiyor. Eğer sunucu tarafında resmi çekerken veya çektikten sonra olması gerektiği gibi bir filtreleme yapılmadıysa biz bu url yi kendi isteklerimiz doğrultusunda değiştirmeyi deneyebiliriz.

İlk olarak sayfamız şu şekilde gözüküyor. Url kısmı : http://30.10.21.52/SSRF/ssrf.php?url=http://30.10.21.52/cyseclab.jpeg

Gördüğünüz gibi url değişkeniyle bir resim çekiyor.

 

Biz burada neler yapabiliriz. Biz biliyoruz ki bir bir tarayıcı da url kısmına  file:///dosya-yolu girildiğin de yetkimizin sınırı kadar istenilen dosya okunur. Örnek olarak aşağıda ki ekran görüntüsünde bulunmaktadır.

 

 

O zaman biz de bir dosya okuyalım. Standard olan /etc/passwd okumayı deneyelim.

http://30.10.21.52/SSRF/ssrf.php?url=file:///etc/passwd

 

 

Dosyanın resim olmadığı için ekrana bastırmadığını söylüyor. Belki de bir proxy aracıyla incelesek farklı sonuçları doğabilir.

 

 

 

 

Ve bingo  🙂  Burp Suite ile aynı şekilde denediğimiz de çok güzel okuduk. Neden Burp Suite ile okumayı başardık da tarayıcı da okuyamadık derseniz aşağı da açıkladım.

Aynı zaman da üzerinde denediğimiz ssrf.php dosyasının kaynak kodlarını buradan inceleyebilirsiniz.

 

 

Gerçek hayatta karşımıza çıkar mı ? Hackerone da gel açığımı bul ödül vereyim diyen bir site de bir abimizin karşısına çıkmış.  Abimiz yerel dosyaları ve web sitesinin kaynak kodlarını okuyabiliyorum demiş ve bildirmiş. 1000$  ödülünü almış.

 

 

Okuduğunuz için teşekkür ederim. Anlattığım yerlerde hatalı bir kısım varsa lütfen uyarınız.

Bir cevap yazın

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