OWASP DVWA – File Upload (Orta Seviye): Dosya Yükleme Zafiyeti Bulunan Uygulamaya Hazırlanan PHP Dosyasının Yüklenmesi ve İşletim Sisteminde Komut Çalıştırılması

0
1595
views
Web uygulamaları sızma testleri sırasında hedef uygulama üzerindeki bir kontrol eksikliği sebebi ile hedef sunucuya beklenmedik tipte dosyalar yüklenebilir. Bu yazıda, OWASP DVWA (Damn Vulnerable Web App) üzerindeki orta zorluk seviyesindeki File Upload açıklığı istismar edilecek ve hedef uygulamanın komut satırına erişim sağlanacaktır.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

Mevcut uygulamada kullanıcıdan bir resim dosyası yüklenmesi beklenmektedir.

http://10.10.2.156/dvwa/vulnerabilities/upload/

 

Yüklenen resim dosyasının yeri de ekrana basılmaktadır. Bu bilgiye göre dosya, mevcut dizinin 2 üst dizininde bulunan “hackable/uploads” dizinine kaydedilmektedir.

../../hackable/uploads/Resim.jpg succesfully uploaded!

 

Kaydedilen resim ve resmin kaydedildiği dizin aşağıdaki gibidir.

http://10.10.2.156/dvwa/hackable/uploads/
http://10.10.2.156/dvwa/hackable/uploads/Resim.jpg

 

Gerekli kontrollerin yapılmadığı durumda hedef uygulamaya resim yerine başka dosyalar da yüklenebilir. Örneğin zararlı bir PHP sayfası hedef sunucuya yüklenebilir ve kabuk erişimi elde edilebilir.

Hedef uygulamaya yüklenecek bir PHP sayfası aşağıdaki gibidir.

 

Kullanılabilecek bir diğer sayfa ise aşağıdaki gibi olabilir.

 

Üçüncü örnek bir sayfa da aşağıdaki gibidir.

 

Dördüncü örnek bir sayfa da aşağıdaki gibidir.

 

 

Trafiğin İncelenmesi

Hazırlanan sayfanın hedef uygulamaya yüklenemediği görülmektedir.

 

Sunucu ve istemci arasındaki trafiğin arasına Burp Suite aracı ile girilebilir.

Trafik incelendiğinde, “Resim.jpg” dosyası hedef uygulamaya yüklenirken dosya tipinin “image/jpeg” olduğu görülmektedir.

 

Yüklenmek istenen PHP sayfasının tipinin ise “application/octet-stream” olduğu görülmektedir.

 

Uygulama incelendiğinde dosyanın tipine göre kontrol yaptığı görülecektir.

 

Yöntem – 1: Dosya Tipinin Değiştirilmesi

PHP sayfası yüklenirken araya girilen trafikte “Content-Type:” alanına karşılık gelen değer “application/octet-stream” yerine “image/jpeg” yapılarak uygulamanın vereceği cevap beklenebilir.

 

Böylece dosyanın hedefe yüklenebildiği görülmektedir.

 

Sayfa çağırıldığında hedef sistemin işletim sisteminde çalıştırılabilecek bir formun sunulduğu görülmektedir.

http://10.10.2.156/dvwa/hackable/uploads/YeniSayfa.php

 

Böylece işletim sistemi üzerinde uygulama kullanıcısı (www-data) yetkileri ile komut çalıştırılabilmektedir.

id; uname -a; head -3 /etc/passwd
http://10.10.2.156/dvwa/hackable/uploads/YeniSayfa.php?Komut=id%3B+uname+-a%3B+head+-3+%2Fetc%2Fpasswd

 

Yöntem – 2: Dosya Uzantısının Değiştirilmesi

PHP sayfasının dosya uzantısı “.jpg” olarak değiştirilerek uygulamanın vereceği cevap incelenebilir.

 

Not: Benzer olarak “YeniSayfa.php;.jpg” gibi bir isim de verilebilirdi. Bu uygulamada sadece belli türdeki (“image/jpeg” gibi) dosyaların yüklenmesine izin verilmektedir, yani whitelisting uygulanmaktadır. Eğer kara liste yöntemi uygulansa ve ‘.php’ ifadesi ile biten dosyaların yüklenmesi yasaklansa idi “YeniSayfa.php.birseyler”, “YeniSayfa.php3”, “YeniSayfa.php4”, “YeniSayfa.phtml”, “YeniSayfa.php?” gibi uzantıdaki bir türde veya büyük/küçük harf duyarsız olan kara listelerin kullanıldığı durumlarda “YeniSayfa.pHp” gibi isimlendirilmiş dosyalar da yüklenebilirdi.

Dosya yüklenirken araya girilen trafikte “Content-Type:” alanının otomatik olarak “image/jpeg” algılandığı (sniff edildiği) görülmektedir.

 

Araya girilen trafikte yüklenecek dosyanın uzantısı eski haline getirildiğinde (“php.jpg”‘den “php” olarak güncellediğinde) uygulamanın vereceği cevap beklenebilir.

 

Böylece dosyanın hedefe yüklenebildiği görülmektedir.

 

İlgili Kaynak Kod:

 

Kaynak:

http://www.includekarabuk.com/kategoriler/DVWAUygulamasi/Ders-12—File-Upload-Medium-Level.php

Hack File upload Vulnerability in DVWA (Bypass All Security)


https://pentestlab.blog/2012/11/29/bypassing-file-upload-restrictions//

 

 

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.