• 04-08-2009, 10:25:26
    #1
    Bir kaç gündür hack girişimleri oluyor. Nedenini ise dosya yükleme scripti ile dosya yüklenen alana .html uzantılı dosyalar gönderip onları çağırmaları. Script ile dosya upload ederken .jpg veya .gif'den başka dosya gönderilmemesini kontrol ediyorum. Ama bir şekilde bu dosyaları upload edebiliyorlar. upload edilen mecbur 777. Ama bir türlü bu dosyaları nasıl upload ettiklerini bulabilmiş değilim. 777 olan bir klasöre script dışında nasıl başka bir dosya upload edebiliyorlar ve bunu nasıl engelleyebilirim.

    İkinci sorum ise; DB bağlantısı için kullandığımız şifreyi class dosyalarının birinin içine plain text olarak yazılıyor. Bir şekilde bu dosyaya ulaşıldığında şifre görülebiliyor doğal olarak. Bu şifreyi ne şekilde almalarını engelleyebilirim?

    Teşekkürler...
  • 04-08-2009, 10:42:06
    #2
    Ben resimleri veri tabanına yüklüyorum mesela. Böylece klasörlere CMOD 777 vermek zorunda değilim.

    Config gibi şifrelerin kayıtlı olduğu dosyalara direkt erişimi engellemelisin.

    Ama zaten
    $link = mysql_connect("localhost","janocan","sifresizgir");
    şeklindeki bir kodu göremez ki. Buna direkt ulaşsa dahi bembeyaz bir sayfa görür, çünkü HTML'ye çevirilecek bir kodr yok ortada.
  • 04-08-2009, 10:54:44
    #3
    777 olan klasörde php, html, vb. dosyaların çalışmasını .htaccess le engelledim. Peki merak ettiğim bu klasöre bu dosyaları nasıl upload ediyorlar?
  • 04-08-2009, 10:57:50
    #4
    replay147 adlı üyeden alıntı: mesajı görüntüle
    777 olan klasörde php, html, vb. dosyaların çalışmasını .htaccess le engelledim. Peki merak ettiğim bu klasöre bu dosyaları nasıl upload ediyorlar?
    upload ederken kullandığınız fonksiyonlarda açık olabilir belki. ya da gözden kaçan bir nokta.
  • 04-08-2009, 11:03:15
    #5
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    upload ederken kullandığınız fonksiyonlarda açık olabilir belki. ya da gözden kaçan bir nokta.
    Upload fonksiyonunda dosyanın header'ını kontrol ettiyorum. sadece resim dosyalarına izin veriyor. Kod şu şekilde...
    if($_FILES['resim']['type']=="image/gif") $extension=".gif";
    			elseif($_FILES['resim']['type']=="image/jpeg" || $_FILES['resim']['type']=="image/jpg" || $_FILES['resim']['type']=="image/pjpeg") $extension=".jpg";
    			else $extension=0;
    			if($extension==".jpg" || $extension==".gif"){
    ...
    Kendim denediğim zaman upload edemiyorum...
  • 04-08-2009, 11:30:22
    #6
    birde resmin boyutlarını alıp izin vermeyi dene. Eğer resimin genişliği > 1 ve resmin yüksekliği > 1 gibisinden bir ifade kullanmayı deneyebilirsin. Html olarak yüklemeseler bile sonradan htmle çevirebiliyorlardır. Nasıl yapılır bilmiyorum ama hackerlar onunda yolunu bulmuş olabilirler.
  • 04-08-2009, 12:07:50
    #7
    büyük ihtimalle html dosyanın uzantısını elle jpg yapıp yolluyorlardır, sonra bi şekilde dosya sunucuda iken tekrar .html uzantıya çeviriyorlardır.
    @ChaoticThundeR 'ın dediği gibi resmin boyutlarını kontrol edersen bu yolla girişimleri engellemiş olursun
  • 04-08-2009, 14:17:15
    #8
    akadal34 adlı üyeden alıntı: mesajı görüntüle
    büyük ihtimalle html dosyanın uzantısını elle jpg yapıp yolluyorlardır, sonra bi şekilde dosya sunucuda iken tekrar .html uzantıya çeviriyorlardır.
    @ChaoticThundeR 'ın dediği gibi resmin boyutlarını kontrol edersen bu yolla girişimleri engellemiş olursun
    Evet uzantısını FTP gibi bir program açıkken, FTP penceresinden değiştiri ve o şekilde atabilirler. Bunu bazen GIF programını JPG yapmaya uşeniyorum, bu kısa yolu deniyorum.

    Sonra server'da iken onu asıl formatı ile çağırırlar. Da çalışır mı? Bilmiyorum.

    Ama umarım burada bir çare bulursun. Ben de konuyu takip ediyorum.