• 01-03-2013, 12:23:54
    #1
    Platin üye
    İlk önce HTML injection saldırısı nasıl olur ona değinelim,

    Örnek ile anlatacak olursak; sizin bir scriptinizde yorum yapma sayfası var ve $_POST filtrelenmemişse sitenize zarar vermek isteyen bir kişi yorum yazma sayfasına kısa yönlendirme META olarak adlandırılan kodu koyup sitenizin o sayfasını yönlendirip DEFACE edebilir. Yorumlara onay sistemi konularak bu olayın üstesinden gelebilirsiniz fakat buna gerek duymadan yapılan yorumları htmlspecialchars() ve trim() den geçirsek bu olaya nokta koyabiliriz.

    Örnek bir sorgu oluşturalım,
    if(isset($_POST['gonder'])){
    
    $deneme = htmlspecialchars(trim($_POST['textfield']));
    
    //veriyi veritabanına almadan önce htmlspecialchars() ve trim() 
    //fonksiyonuna alıp öyle değişkene atadık.
    //Böylece veri html taglarından arındırıldı.
    
    $kaydet = mysql_query("INSERT INTO deneme VALUES(NULL,'$deneme')");
    
    if($kaydet){
    echo 'Kaydedildi';
    }else{
    echo 'Kayıtta hata oluştu';
    }
    
    }
    Gördüğünüz gibi filtreleme işini yaparak scriptimizi html injection saldırılarına karşı koruduk. Ben bütün scritplerimde HTML Injection a karşı bu fonksiyonları kullanıyorum tavsiye ederim

    kaynak https://www.azatmetin.com/yaz-7-html...ina_onlem.html
  • 01-03-2013, 13:01:27
    #2
    Üyeliği durduruldu
    son zamanlarda wordpress sitelere çok saldırılar war. paylaşım için tşk deneyeceğim.
  • 01-03-2013, 13:09:31
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    uzgunum yetersiz koruma, select sorgusunda ben buna union select ile girisirim, eger tek koruma bu ise.
  • 01-03-2013, 13:13:27
    #4
    Platin üye
    lastwisher adlı üyeden alıntı: mesajı görüntüle
    uzgunum yetersiz koruma, select sorgusunda ben buna union select ile girisirim, eger tek koruma bu ise.
    www.azatmetin.com test edip sonucu buradan yazarsanız sevinirim
  • 01-03-2013, 13:26:59
    #5
    Ustadim, bedava guvenlik testi yapacak kadar vakit sahibi degilim sql injection ile ilgili yiginla makale var, eger burada union yada addslashess gibi bir koruma kullanmazsaniz o veriyi direk eklerseniz sitenize direk sisteminiz sql injectiona acik olur.

    En basitinden

    $_POST['textfield'] = "deneme'); drop users;version(";

    seklinde tanimlama yapip deneyin users tablosunu droplayacaktir.

    Saygilar.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:26:59 -->-> Daha önceki mesaj 13:25:22 --

    ps : sitenizde az once yayinlamis oldugunuz makalede de var zaten :

    $sifre=mysql_real_escape_string(htmlspecialchars($ _POST['sifre']));

    bu sekilde korumalisiniz.
  • 01-03-2013, 13:30:51
    #6
    Platin üye
    lastwisher adlı üyeden alıntı: mesajı görüntüle
    Ustadim, bedava guvenlik testi yapacak kadar vakit sahibi degilim sql injection ile ilgili yiginla makale var, eger burada union yada addslashess gibi bir koruma kullanmazsaniz o veriyi direk eklerseniz sitenize direk sisteminiz sql injectiona acik olur.

    En basitinden

    $_POST['textfield'] = "deneme'); drop users;version(";

    seklinde tanimlama yapip deneyin users tablosunu droplayacaktir.

    Saygilar.
    https://www.r10.net/php/999804-sql-i...ina-onlem.html

    iyi çalışmalar, saygılar benden

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:30:51 -->-> Daha önceki mesaj 13:28:30 --

    bu konu altinda yorum sayfasina yapilabilecek html inj korumasini anlattim tek basina yeterli olacaktir html inj konusunda, sql konusunda zaten diger makalemdeki guvenlik onlemleri mevcut. ayrica hack girisimlerini sistem algilar ve o ipyi banlar,
    konuyu galiba yanlis anladik. zamaninizi ayirdiginiz icin tesekkur ederim
  • 01-03-2013, 13:31:14
    #7
    Bu `html injection` kodunuza da eklerseniz, guvenlik acigi olmadan anlatmis olursunuz.
  • 01-03-2013, 21:44:47
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    lastwisher adlı üyeden alıntı: mesajı görüntüle
    Bu `html injection` kodunuza da eklerseniz, guvenlik acigi olmadan anlatmis olursunuz.
    @lastwisher fazla söze ne hacet diyelim ?
  • 02-03-2013, 02:18:11
    #9
    Platin üye
    lastwisher adlı üyeden alıntı: mesajı görüntüle

    En basitinden

    $_POST['textfield'] = "deneme'); drop users;version(";

    seklinde tanimlama yapip deneyin users tablosunu droplayacaktir.



    belediye çalışıyor hocam