Şimdi Ara

Asp Günvenlik sql injection

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
3
Cevap
0
Favori
326
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • merhabalar sql injection korunmak için şöyle bir makale buldum mantıgını anladım ama bu kodu ben sistemime nasıl entegre edecem hangi kod bölüme yazacam yardım edebilirmisiniiz

     
    En çok tehlikeye neden olan güvenlik sorununu, SQL Injection'ı aşağıda vermiş olduğum kodlar yardımıyla çok basit bir şekilde çözebilirsiniz.

    örnek olarak anasayfa.asp adlı bir sayfanızın olduğunu düşünelim. Anasayfa.asp sayfasının içinden icerik.asp?id=1 şeklinde bir link olsun. Eğer siz aşağıdaki kodu icerik.asp 'deki request.querystring kısmına koymazsanız kötü niyetli kişiler ( ' ) karakteri ile SQL cümlenizi müdahale edebilir ve istedikleri yönde sorgulama yapabilirler.

    Eğer sayfa içinde id değişkenine değer alırken id = request.querystring("id") şeklinde bir kod kullanıyorsanız bu kodu aşağıda verdiğim şekilde değiştirin;

    ID = REQUEST.QUERYSTRING("ID")
    IF Not IsNumeric(REQUEST.QUERYSTRING("ID")) THEN
    response.write "Lütfen Geçerli bir ID numarası girin."
    response.end
    END IF
    ya da id = request.querysring("id") için uygulanan ( ' ) , ( < ) , ( > ) gibi zararlı karakterleri koruyup güvenli bir sistem de yapabilirisiniz (bu yöntem daha güvenlidir). Aşağıda verdiğim kodları sayfanın en başına ekleyin ve uyari.asp diye kişiye bir uyarı mesajı veren sayfa oluşturun.

    function veri_temizle(veri)
    veri = Replace (veri ,"'","[engelle]",1,-1,1)
    veri = Replace (veri ,"=","[engelle]",1,-1,1)
    veri = Replace (veri ,"&","[engelle]",1,-1,1)
    veri = Replace (veri ,"%","[engelle]",1,-1,1)
    veri = Replace (veri ,"!","[engelle]",1,-1,1)
    veri = Replace (veri ,"#","[engelle]",1,-1,1)
    veri = Replace (veri ,"<","[engelle]",1,-1,1)
    veri = Replace (veri ,">","[engelle]",1,-1,1)
    veri = Replace (veri ,"*","[engelle]",1,-1,1)
    veri = Replace (veri ,"/","[engelle]",1,-1,1)
    veri = Replace (veri ,"\","[engelle]",1,-1,1)
    veri = Replace (veri ,"And","[engelle]",1,-1,1)
    veri = Replace (veri ,"'","[engelle]",1,-1,1)
    veri = Replace (veri ,"Chr(34)","[engelle]",1,-1,1)
    veri = Replace (veri ,"Chr(39)","[engelle]",1,-1,1)
    IF InStr(1,veri,"[engelle]",1) Then
    Response.Redirect "uyari.asp"
    End IF
    veri_temizle = veri
    end function
    Artık yeni kullanım id = request.querystring("id") değil, bunun yerine aşağıda verdiğim şekilde olmalıdır; id = veri_temizle(request.querysring("id"))

    Artık eğer birisi sql injection saldırısı girişiminde bulunursa, veri_temizle fonksiyonu bunu temizleyecek ve [engelle] değerini okuyacak. Eğer [engelle] değerini okuduysa da sistem otamatik olarak uyari.asp sayfasına yönlenecek.

    Son olarak eklemek isterim ki, sql injection konusunda iyi bilgiye sahip saldırgan için bu fonksiyonda tam anlamıyla yeterli olmayacaktır. SQL Injection dan korunmak için en güzel yöntem black list yani engelleme yerine white list dediğimiz sadece izin verilen değerlere geçiş vermektir. White list daha gelişmiş bir filtreleme uygulayarak sql injection'a karşı tam anlamıyla koruma sağlamak için ilk adım olacaktır. Konuyla ilgili olarak daha detaylı bilgileri bir sonraki yazıda vermeyi düşünüyorum. Konuyla ilgili her türlü soru ve fikirinizi lütfen belirtmekten çekinmeyin.



    < Bu mesaj bu kişi tarafından değiştirildi a1brah1m -- 3 Temmuz 2015; 18:29:52 >







  • adam yazmış işte nasıl kullanacağını zaten aynı şeyleri birde bizmi yazalım istiyorsun ?
    Kullanıcıdan veriyi aldığın sayfalarda bu kodu adamın anlattığı gibi kullanıcaksın hepsi o ..

    Ha takıldığın yer olsa olsa ID = REQUEST.QUERYSTRING("ID") olur buradaki REQUEST.QUERYSTRING("ID") yi kendi istediğin veri ile değiştiriceksin.
    REQUEST.QUERYSTRING("ID") de anlatılmak istenen adres satırında
    www.bişeybişey.com/bişey.asp?ID=123 diye bir veri var ve biz buradaki ID ye atanmış 123 ü alıp sql e sorgu olarak yolluycaz Kullanıcının bize saldırabileceği tek yer bu dolayısıyla oradan gelen veriyi alıp adamın hazır function' u na yolluycaz..
    Sende ID değilde başka bir şeydir yada daha fazladır orasını sen ayarlıycaksın adres satırından okuduğun her değişkeni bu function' a gönderip sonra sql tarafında sorgulatıcaksın..




  • Hocam saol olayi mantigi biliyorum ama bi türlü adamin verdigi function kullanamadim sanki c# asp icin degilde baska bisi icin yazılmış ama sonunda kendim bi metod olusturdum bide tum verileri parametre alarak sorgulara eklettim baska bişi yorum alanlarinda veri girişi oldugu yerlerde gelen veriyi htmlencode ile cevirmek yetermi cevap için saol

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Yapay Zeka’dan İlgili Konular
    Php veri programlama
    5 yıl önce açıldı
    SQL ve Python hk.
    geçen yıl açıldı
    php database veri eklemede hata
    geçen yıl açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.