Bütün resim formatlarına izin vermeniz de açık doğurabilir. Örneğin gif dosyası içine zararlı shell komutları yazıldığı zaman verotnet bunu yine gif olarak görür ve çok farklı şekilde kullanabilmek mümkün. Önerim sadece jpeg,jpg veya png uzantılı resimlere izin vermeniz. İyi günler dilerim.

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:07:19 -->-> Daha önceki mesaj 16:05:29 --

rikato adlı üyeden alıntı: mesajı görüntüle
Merhaba arkadaşlar. Burada siteme shell attıklarına dair konuyu açmıştım. Özelden ilgilenen arkadaşlar oldu sağolsunlar ama şuana kadar net birşey bulamadık.
Siteme bir açıktan faydalanıp shell atmışlar. Sitem çok büyük değil ve kendi tarafımdan yazılmış php scripttir.
Sitede kullanıcı tarafından veri girişleri sadece Üyelik, Avatar ekleme ve İçeriklere yorum yazmadır.
Açığın belki Avatar ekleme upload sınıfından olduğunu düşünüyoruz. verot.Netin upload sınıfını kullanmaktayım. Avatarı ajax ile ilgili dosyaya iletip yükletiyorum. Kullandığım kodlar aşağıdaki gibidir. Sizce kodlarda bir açık varmı ?

if(isset($_POST) && $_SERVER["REQUEST_METHOD"] == 'POST'){

require 'class.upload.php';
$resim = $_FILES['dosya'];

if($resim==""){
	echo 'Lütfen bir resim seçiniz.';
}else{


	$image = new Upload($resim);
	if ( $image->uploaded ){

		$image->allowed = array('image/*');
		$image->image_min_height = 100;
		$image->image_min_width = 100;
		$image->file_new_name_body = 'resimAdi';
		$image->file_name_body_pre = 'thumb_';
		$image->image_resize = true;
		$image->image_ratio_crop = true;
		$image->image_x = 100;
		$image->image_y = 100;
		$image->Process('upload/thumb');
		

		if ( $image->processed ){
			echo 'Avatar resminiz başarıyla yüklendi.';
		} else {
			echo 'Hata Oluştu.';
		}

	}

}

}else{
    header('location:/');
}

ek olarak $resim değişkenine hiç bir filtreleme yapmamışsınız. Basit xss yöntemleri ile bile aşılabilir.