Ana Sayfa
Forumlar
Blog
Hakkımızda
Yükleniyor. Lütfen bekleyin ...
Kategoriler
ASP.NET
ADO.NET
Visual Basic .NET
Visual C# .NET
Visual Studio ve Araçlar
Windows Server System
Office System
.NET Framework
SQL Server
XML Web Servisleri
Yazılım Güvenliği
Yazılım Mühendisliği
Mobil Teknolojileri
Dynamics
Smart Client
Expression Studio
Silverlight
Kod Parçaları
Açık Kaynak Kodlu Uygulamalar
İş Zekası
Windows Mobile Embedded
0
Çıkış Yap
Üyelik Bilgilerimi Güncelle
Seminerlerim
Favorilerim
Ajanım
Yazgeliştir
Yazar olmak ister misiniz?
Forumlar
Kitap Önerileri
Haberler
Röportajlar
Yazarlar
İpuçları
Görüşleriniz
Hakkımızda
İstatistikler
En son kayıt olan üye:
acronice
Şuanki online üyeler (
10
) :
echoestr
,
inprise
,
ilyasbural
,
horpooon
,
deryasea
,
okurbey
,
muslumguzel
,
ilkayucar
,
KIYASETTİN
,
demirnazim
Yazılım Güvenliği Kategorisi
»
Kötü Niyetli Dosya Çalıştırma
Kötü Niyetli Dosya Çalıştırma
Print Versiyonu
Yazar:
Selcuk Yavuz
Tarih:16.08.2007
Puan:
3,71
(Oy Kullanan:
7
)
Okuma Sayısı:
279
Makaleyi İşaretle
Makale Özeti
Web uygulamanıza FileUpload ile dosya yüklemesi yapmak durumunda iseniz gelen dosyanın türünü mutlaka denetlemek gerekir. Örneğin bir Forum uygulaması yaptınız ve kullanıcılar kendi resimlerini resimler klasörüne upload edebilmekteler. Saldırgan hazırlamış olduğu bir asp sayfasını resimler klasörüne upload eder ve www.siteniz.com/resimler/foo.asp şeklinde tam yolu yazarak dışardan göndermiş olduğu bir dosyayı sisteminizde çalıştırabilir.
Makale
Web uygulamanıza FileUpload ile dosya yüklemesi yapmak durumunda iseniz gelen dosyanın türünü mutlaka denetlemek gerekir. Örneğin bir Forum uygulaması yaptınız ve kullanıcılar kendi resimlerini resimler klasörüne upload edebilmekteler. Saldırgan hazırlamış olduğu bir asp sayfasını resimler klasörüne upload eder ve www.siteniz.com/resimler/foo.asp şeklinde tam yolu yazarak dışardan göndermiş olduğu bir dosyayı sisteminizde çalıştırabilir. Bu şekilde sisteminizin izin verdiği ölçüde yeni dosyalar oluşturabilir. Örneğin anadizinde ki default.aspx dosyasını silip yerine bir default.asp dosyası oluşturabilir. Böylece siteniz açıldığında “hacked by hacker ana” yazısı ile karşılaşabilirsiniz. Böyle üzücü durumların yaşanmaması için sisteminize upload edilen dosyaların türünü denetlemek gerek. Bunun için System.IO.Path ve System.Text.Regex namespacelerinden yararlanacağız. Önce upload edilen dosyasın uzantısı nı alacağız ve kabul ettiğimiz dosya türleri içerisinde olup olmadığını denetleyeceğiz. string uzanti = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);System.IO.Path.GetExtension metodu uzntıyı bize “.jpg” gibi noktalı bir şekilde verir. Kullanıcı tarafından gönderilen dosya ismi büyük harfler ile yazılmış olabilir. Buda birazdan yapacağımız karşılaştırmada farklıymış gibi algılanmasına sebep olur. Bu yüzden uzantı harflerini küçültelim. uzanti = uzanti.ToLower(); Kabul edeceğimiz dosya uzantıları için teker teker if kontrolü yazmamak için Regular Expression ifadelerinden yararlacağız. using System.Text.RegularExpressions; ..... if(Regex.IsMatch(uzanti,".jpg|.jpeg|.gif|.png|.bmp") == false) { // gönderilen dosya formatı uygun değil } else { // gönderilen dosya formatı uygun. } Kaynak http://www.owasp.org/index.php/Top_10_2007-A3
Makaleyi nasıl buldunuz?
Makaleyi nasıl buldunuz?
Çok Kötü
Çok Yararlı
Görüşleriniz : (opsiyonel)
v2.4
Geri Bildirim (Feedback)
Site içerisinde yazılan tüm makalelerin yazım ve yayınlama hakkı aksi belirtilmediği sürece sadece yazarlara aittir.
Yazgelistir.Com Ekibi - 2006 -
Yazgelistir.com