Tekil Mesaj gösterimi
Alt 10 Nisan 2013, 14:57   #1
Çevrimdışı
CeSaRCripS
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
SQL injection ve Korunma Yöntemleri




İpucu
Merhabalar.

Veritabanı kullanarak geliştirdiğimiz uygulamaların en büyük tehditlerinden biri SQL injectiondır. Bu konu hakkında sizlere bilgi vermek istedim.

SQL injectionı kullanıcı girişinde şu şekilde gerçekleyebiliriz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
1"select * from musteriler where sifre='" + TxtSifre.Text + "' and mail ='" + TxtMail.Text + "'"

sorgumuzun sonuna ‘or 1=1 yazdığımızda sql bu sorguyu şöyle yorumlayacaktır:
Textboxlardan gönderilen parametreler doğru ise yada (or) 1=1 ise bu sorgu çalışacakır. 1=1 doğru olduğu için kullanıcı girişi gerçekleşecektir. Bu bizim istemediğimi bir durumdur. Bu tehlike QueryString ve veri girişi yapılan her yerde mevcuttur.
Bir örnek daha vermek gerekirse yine bir textboxtan

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
1‘;Delete table tabloadi;--

şeklinde bir giriş yapılırsa veritabanımızdan tablomuz silinebilir. Bu kodda ki tek tırnak (‘) kodumuzun içerisindeki sqli bitirip sonuna ; ile istediğimiz Sql sorgusunu göndermemize yarar.

Sql injection dan korunmak için basit birkaç önlem almak mümkündür.

1. WebConfig dosyasında connectionString i encrypt etmek.
2. Veritabanına bağlanıp sorgu gönderilen kullanıcı için minimum yetkilendirme yapmak
3. Sa kullanıcısını veritabanında asla kullanmamak
4. QueryStringden gönderilen id gibi parametreleri integer tipine çevirmek.
5. Kesinlikle kod içerinde sql sorgularında parametre kullanmak.
6. Exception mesajlarını göstermemek
7. Textboxlardan girilen verilerin içerisndeki ‘ or ‘ gibi textleri temizlemek

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Alıntıdır.. Kaynak: YazGeliştir.


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet