LYK — Web Uygulama Güvenliği ve Güvenli Kod Geliştirme (8.gün)

Hatice Ergün
Jul 29, 2017 · 1 min read

Bir önceki yazı için tıklayın.

Dosya Yükleme Zafiyeti

Tarayıcı dosya yüklemeleri yaparken Content-Type:image/jpeg yada Content-Type: application/php gibi headerlar ile sunucuya dosya tipini gönderir. Yazılımcı gelen dosya tipini kontrol etmeksizin erişime izin verirse zafiyet açığa çıkar. Hiçbir kontrol yapılmamış olan bir profil fotoğrafı yükleme alanına, php dosyası yükleyelim. Php dosyasında
<?php echo system ($_GET['x']);?> kodu olsun. Girdi kontrolü yapılmamış sitede adres çubuğunda site.com/resimler/dosya.php?x=ls yazdığımızda resimler dizinin içindeki dosyaları listelemiş oluruz. Burada yaptığımız, sitede shell açmaktır. Site içerisinde terminal komutları kullanarak istediğimizi yapabilir duruma geldik.
Burada ilk akla gelen php uzantılı dosyaları engellemek olabilir. Fakat kesin çözüm değildir.

Dosya Yükleme Saldırılarından Nasıl Korunabiliriz?

Alınan img dosyası Imgick kütüphanesine eklenebilir. Bu fonksiyon gelen dosyayı img formatına çevirir. Aynı şekilde mp3 ve pdf gibi formatlar içinde kütüphaneler mevcuttur. İmkan varsa gelen dosyalar farklı bir sunucuda tutulabilir. Resimler için kullanılan sunucuda sadece apache çalışır olup, php olmazsa o sunucuda php kodu çalıştırılamaz.

Bir sonraki yazı için tıklayın.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade