Dosya Yükleme Zafiyeti Nedir?

Dosya Yükleme Zafiyeti (File Upload Vulnerability)

Dosya yükleme zafiyeti, kullanıcıların sunucuya zararlı dosyalar yükleyerek sistemde komut çalıştırmalarına, hassas verilere erişmelerine veya sistemin kontrolünü ele geçirmelerine neden olabilecek bir güvenlik açığıdır.

Nasıl Ortaya Çıkar?

  • Yüklenen dosyanın türü, içeriği veya uzantısı doğru şekilde filtrelenmiyorsa
  • Yüklenen dosyaların kullanıcıdan gelen adla kaydedilmesi
  • Dosyanın yükleme dizinine erişimin doğrudan sağlanması
  • Yüklenen dosyaların sunucuda çalıştırılabilir konumda saklanması (örneğin: `.php`, `.aspx`, `.jsp` gibi uzantılarla)

Örnek Zararlı Dosya

<?php
  system($_GET['cmd']);
?>
    

Yukarıdaki basit PHP backdoor dosyası, cmd parametresiyle gelen komutları sunucuda çalıştırabilir.

Riskleri Nelerdir?

  • RCE (Remote Code Execution – Uzaktan Komut Çalıştırma)
  • Web shell yerleştirme ve sistem ele geçirme
  • XSS veya zararlı dosyalarla diğer kullanıcıların etkilenmesi
  • Sunucunun tüm kontrolünün ele geçirilmesi

Gerçek Hayattan Örnek

2015 yılında Uber'deki bir dosya yükleme açığı sayesinde araştırmacılar, sunucuya shell yükleyerek yetkisiz erişim sağladı. Bu zaafiyet bug bounty kapsamında 10.000$ ile ödüllendirildi.

Korunma Yöntemleri

  • İzin verilen MIME türlerini ve uzantılarını sıkı şekilde filtreleyin
  • Dosya adlarını yeniden adlandırarak rastgeleleştirin
  • Yüklenen dosyaları çalıştırılamaz dizinlerde saklayın (örneğin CDN, blob storage, AWS S3 vb.)
  • Dosya içeriğini (magic bytes) kontrol edin
  • Web sunucusu yapılandırmalarında dosya yürütülmesini engelleyin

Test Etme Yöntemleri

  • Zararlı uzantılarla dosya yüklemeyi deneyin (.php, .jsp, .exe)
  • İçeriği değiştirilmiş dosyalarla (örneğin: .jpg ama içinde PHP kodu olan) yükleme testi yapın
  • Yüklenen dosyanın çalıştırılıp çalıştırılmadığını kontrol edin
  • WAF veya antivirus tetikleniyor mu diye gözlemleyin
Not: Dosya yükleme noktaları, saldırganların sisteminize giriş kapısı olabilir. Kullanıcıdan gelen veriye asla güvenmeyin ve tüm kontrolleri çok katmanlı yapın.

Sonuç

Dosya yükleme zafiyeti, çok büyük etkilere yol açabilen kritik bir güvenlik açığıdır. Yeterli filtreleme, uygun yapılandırma ve izolasyon önlemleriyle bu riskler en aza indirilebilir.

Scroll to Top