VERİTABANI SQL İNJECTİON

1.Örnek

kullanıcı form alanına
Kod Alanı:

 
or a=a



 

bu yazıyı girerse bunun anlamı şudur..

sql cümlesine bakacak olursak :

 

Kod Alanı:

 
select count(* ) from tablo where user=Arhan and userPass=
or a=a



 



veritabanında tablo adlı tablodan user sütunu Arhan olan userpass sütunu boşluk olan veya her halikarda a=a ya eşit olacagı bir deger çağırır.ve kullanıcı kolaylıkla oturum acabilir..Ne Kadar Kolay Değilmi?

Şimdi Gelin bu açığı kapatalım..

evet arkadaslar...Formumuzun postlayacağı sayfa session.asp olsun simdi db connectionları ve rsleri kurdugunuzu farzedip gerekli kodlamaya geçecegim..

ilk önce.. Formdan Gelen Verilere Değişken atıyoruz..

 

Kod Alanı:

 
user =server.htmlencode(Request.Form("user" ) )----->formdaki textfield valuesunun user oldugundan emin olun..
 
Kod Alanı:

 
pwd =server.htmlencode(Request.Form("pwd" ) )



 

------>formdaki textfield valuesunun pwd oldugundan emin olun..
geliyoruz kilit ifadeye:

 

Kod Alanı:

 
<% if instr (pwd,"" ) > 0 or instr (pwd,"=" )>0 then response.redirect "nodoor.asp" end if %>
<% if instr (user,"" ) > 0 or instr (user,"=" )>0 then response.redirect "nodoor.asp" end if %>



 



ve kilit ifadede her 2 form alanından gelecek muhtemel açığı kapatmış olduk..kilit ifadenin anlamı şudur:

Eğer pwd    içeriyorsa veya pwd = içeriyorsa sayfayı nodoor.asp ye yönlendir...

aynı durumu 2.ifade içinde uyarlayabilirsiniz..

Yardım İçin Sadece Bir Tık Yeter
 
Sponsor
 
.tk
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol