Asp kullanan websitelerde ‘or”=’ döngüsü “yada” şeklinde algılayıp 1=1 i true durumuna dönüştürüyor ve kullanıcı adı ve şifresi bölümüne ‘or”=’ yazdığımızda admin olarak sisteme giriş yapabiliyoruz.
Or Açığı Nasıl Kapatılır?
Aşağıdaki login.asp örneğini inceleyiniz.
form.asp
Kod:
<form action=”login.asp” method=”post”>
Kullanıcı adı: <input type=”text” name=”kullanici”><br>
Şifre: <input type=”password” name=”sifre”><br>
<input type=”submit” value=”Gönder”>
login.asp
Kod:
<%
function karaktertemizle(veri )
veri = Replace (veri ,”`”,”” )
veri = Replace (veri ,”=”,”” )
veri = Replace (veri ,”&”,”” )
veri = Replace (veri ,”%”,”” )
veri = Replace (veri ,”!”,”” )
veri = Replace (veri ,”#”,”” )
veri = Replace (veri ,”<“,”” )
veri = Replace (veri ,”>”,”” )
veri = Replace (veri ,”*”,”” )
veri = Replace (veri ,”And”,”” )
veri = Replace (veri ,”‘”,”” )
veri = Replace (veri ,”Chr(34 )”,”” )
veri = Replace (veri ,”Chr(39 )”,”” )
karaktertemizle=veri
end function
kullanici=karaktertemizle(Request.Form(“kullanici” ) )
parola=karaktertemizle(Request.Form(“sifre” ) )
Set kayitseti = server.createobject(“adodb.recordset”)
sql=”select * from uyeler where username='”&kullanici&”‘ and pass='”&parola&”‘”
kayitseti.open sql,baglanti,1,3