File Upload Zafiyeti

3

1. File Upload Zafiyeti Nedir?

File upload, web uygulaması kullanılarak sunucuya zararlı yazılım yükleyerek gerçekleştirilen saldırılara denir. Kötü niyetli kişinin hedefindeki web sitesi üzerinden hazırladığı zararlı dosyayı yükleyerek sunucuya erişebilmesine olanak sağlıyor.

Sistemde bulunan dosya yükleme formları ile dosyanın yüklenmesi/transfer edilmesi ile oluşan zafiyettir. Önceden oluşturmuş olduğumuz shell dosyasını bu zafiyetten yararlanarak yüklediğimizde sisteme yetkisiz erişmiş oluruz.

2. PHP CMD Shell

Şekil 1 PHP Kodu

Hedef sisteme yüklemek üzere hazırlamış olduğum php kodu, hedef web sitesindeki zafiyetli dosya yükleme modülüne yükleyip sunucu üzerinde komut satırına erişebilmemizi sağlamaktadır.

3. DVWA Nedir?

DVWA (Damn Vulnerable Web Application), kendini web security alanında geliştirmek isteyenler için PHP ve MySQL kullanılarak hazırlanmış olan eğitim uygulamasıdır.

4. Shell Upload (Low Level)

Şekil 2 File Upload Form

DVWA eğitim uygulamasını Kali Linux işletim sistemine kurdum. DVWA’da File Upload zafiyeti ile ilgili bir kategori oluşturulmuş ve buradan Low seviyede olan eğitimi seçtim. Şekil 2’de görmüş olduğunuz gibi bir adet resim yükleme formu oluşturulmuş.

Şekil 3 Shell Upload

Şekil 3’te hazırlamış olduğum cmd shell’i seçerek upload ediyorum ve bana yükleme başarılı diye geri bildirim verdi.

5. Shell Upload (Medium Level)

Şekil 4 Shell Upload

Şekil 4’te gördüğünüz gibi cmd shell’i yüklemeye çalıştığımda yüklemenin başarısız olduğunu sadece JPEG veya PNG uzantılı dosyalar yükleyebileceğimizi söylüyor.

Şekil 5 Burp Suite

Ben de .php uzantılı olan cmd shell dosyasını .png olarak değiştiriyorum ve Burp Suite kullanarak tarayıcı ile sunucu arasına gireceğim. Burp Suite, giden-gelen paketleri inceleme ve manipüle etmemizi sağlamaktadır.

Şekil 6 Burp Suite

Şekil 5 ve şekil 6’da görmüş olduğunuz üzere daha önceden .png olarak değiştirmiş olduğum shell dosyamı, Burp Suite kullanarak uzantısını .php yapıyorum ve bu paketi sunucuya yolluyorum.

Şekil 7 Shell Upload

Burp Suite ile giden pakete müdahale ettik ve sedece JPEG ve PNG uzantılı dosyaları Kabul eden sistemi başarılı bir şekilde atlatmayı başarabildik. Şekil 7’de de görmüş olduğunuz üzere upload başarılı diyor.

6. Shell Dosyasını Kullanarak Komut Satırına Erişim

Şekil 8 Komut Satırı

Şekil 8’de görmüş olduğunuz üzere cmd shell çalışır durumda. Komut olarak whoami yazdığımda www-data cevabını alıyorum.

7. Sonuç

File Upload zafiyeti çok kritik güvenlik açıklıkları arasındadır. Bir web uygulamasında file upload zafiyeti var ise saldırgan kişi bu zafiyeti sömürerek sunucu üzerinde komut satırına erişebilir ve hak yükselterek topolojideki diğer makinelere de sıçrayabilir.

KAYNAKLAR

http://www.dvwa.co.uk/

https://portswigger.net/burp

http://www.berkgoksel.com/2016/09/web-uygulamas-guvenligi-file-upload_82.html

http://www.includekarabuk.com/kategoriler/DVWAUygulamasi/DVWA-Nedir.php