or acıgı
6
●1.331
- 15-12-2010, 18:28:46Üyeliği durduruldu@FactorX or açığı sadece asp 'de vardır

@ djadem;
mail & şifre adında 2 adet input olduğunu varsayalım. Form buradan postlanıyor. şimdi kontrol sayfasında;
mail = request.form("mail")
sifre = request.form("sifre")
if mail="'or'" or sifre="'or'" then
response.write "<script>alert('Giriş Başarısız')</script>"
response.end
end if
gibi if döngüsüyle engelleyebilirsin. Fakat bunu daha güvenlikli hale getirmek için, if döngüsüyle kullanmak yerine replace kullanarak or, select, add, delete gibi bütün kelimeleri "" (boş) olarak değiştirsiniz. Sonra veritabanında sorgulama yaptığınızda zaten bu değerler boş geleceği için üye girişi başarısız olacaktır
Kolay gelsin. - 16-12-2010, 11:37:25Üyeliği durdurulduor açıgı kapatıldı tesekürler ... Ama şimdi de admin panelinde diyelim 10 tane atagori var işte haber ekle ziyaretci defteri v.b gibi seyler bunlardan 4 ü caşısıyor 6 sında su hatayı alıyorum
Microsoft VBScript compilation error '800a03ea'
Syntax error
www/sifrele.asp, line 4
Function Guvenlik(Yasak)
^
sifreler.asp nin içeriğide burası
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<%
Function Guvenlik(Yasak)
Yasak = Replace (Yasak ,"=","",1,-1,1)
Yasak = Replace (Yasak ,"&","",1,-1,1)
Yasak = Replace (Yasak ,"*","",1,-1,1)
Yasak = Replace (Yasak ,",","",1,-1,1)
Yasak = Replace (Yasak ,"?","",1,-1,1)
Yasak = Replace (Yasak ,"%","",1,-1,1)
Yasak = Replace (Yasak ,"'","",1,-1,1)
Yasak = Replace (Yasak ,Chr(34),"",1,-1,1)
Yasak = Replace (Yasak ,"'","",1,-1,1)
Yasak = Replace (Yasak ,"/","",1,-1,1)
Yasak = Replace (Yasak ,"\","",1,-1,1)
Yasak = Replace (Yasak ,"<","",1,-1,1)
Yasak = Replace (Yasak ,">","",1,-1,1)
Yasak = Replace (Yasak ,"And","",1,-1,1)
Yasak = Replace (Yasak ,"Or","",1,-1,1)
Guvenlik = Yasak
End Function
%>
<%
if session("admin")="" then%>
<%
if request.querystring("sayfa")="giris" then
ad = request.form("ad")
sifre = request.form("sifre")
Set sifrekontrol = Server.CreateObject("ADODB.Connection")
sifrekontrol.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/ara.mdb")
set ctrl = sifrekontrol.execute("select top 1 * from tblayar where ad='"&ad&"' and sifre='"&sifre&"'")
if ctrl.eof then
response.write "<center><font color=""red"">Yanlis Kullanici Adi veya Sifre!</font></center>"
else
session("admin")=ctrl("id")
response.redirect ("default.asp")
end if
end if
%>
<style type="text/css">
<!--
.style1 {
color: #FFFFFF;
font-weight: bold;
}
.style2 {
color: #990000;
font-weight: bold;
}
-->
</style>
<center>
<br /><br /><br /><br /><br /><br />
<img src="temel/admin.jpg" border="0" />
<form action="?sayfa=giris" method="post">
<table width="230" border="0" cellpadding="0" cellspacing="5" bgcolor="#990000">
<tr>
<td align="center" valign="middle"><span class="style1">Yönetici Girişi </span></td>
</tr>
</table>
<table width="230" border="0" cellpadding="2" cellspacing="0">
<tr>
<td width="86" align="right" valign="middle"><span class="style2">Yönetici :</span></td>
<td width="144" align="right" valign="middle"><input type="text" name="ad"></td>
</tr>
<tr>
<td align="right" valign="middle"><span class="style2">Şifre :</span></td>
<td align="right" valign="middle"><input type="password" name="sifre"></td>
</tr>
<tr>
<td> </td>
<td align="right" valign="middle"><input type="submit" value="Giriş"></td>
</tr>
</table>
</form>
</center>
<%
response.end
end if%>
Bunu nasıl çözebilirim... - 17-12-2010, 01:56:28"Yasak" boş geliyordur.
Function Guvenlik(Yasak)
If Yasak = "" Then Exit Function
Yasak = Replace (Yasak ,"=","",1,-1,1)
Yasak = Replace (Yasak ,"&","",1,-1,1)
Yasak = Replace (Yasak ,"*","",1,-1,1)
Yasak = Replace (Yasak ,",","",1,-1,1)
şeklinde dener misiniz? - 18-12-2010, 09:29:38açık bu satırdan meydana geliyor, ad ve sifreyi 2 ayrı satırda sorgulamalısnAlıntı
