网站后台'or'='or'就可以进..请帮忙修改一下源码

来源:百度知道 编辑:UC知道 时间:2024/09/23 21:19:38
下面是admin/login.asp
这样的话用账号密码都是'or'='or'就可以进入后台
我想修复这个漏洞以免任何人都可以用这个帐号密码进入..
请帮帮忙!

只需要修改下面的..不用整个换掉!谢谢!

<!-- #include file="../include/bkconn.asp" -->
<%
if Request("userID")<>"" then
sql="select * from users where userID='" & trim(request("userID")) & "' and Password='" & replace(trim(request("password")),"'","''") & "'"
'response.write sql
'response.End
set rs = conn.Execute(sql)
if not (rs.eof or err) then
session("userID")=rs("userID")
session("userClass")=rs("userClass")
response.redirect "administrationgdvh.asp"
else
%>
<script language=Javascript>
alert("错误!请重新输入");
window.history.go(-1);
</script>
<

直接在bkconn.asp 文件内加如下代码,就整站防止注入了,不用改别的地方:
直接在bkconn.asp 文件内加如下代码,就整站防止注入了:

<%
Query_Badword="'‖and‖select‖update‖chr‖delete‖%20from‖delete%20from‖;‖insert‖mid‖master.‖set‖chr(37)‖="
On Error Resume Next

if request.QueryString<>"" then
Chk_badword=split(Query_Badword,"‖")
FOR EACH Query_Name IN Request.QueryString
for i8=0 to ubound(Chk_badword)
If Instr(LCase(request.QueryString(Query_Name)),Chk_badword(i8))<>0 Then
response.write "<SCRIPT>alert('小样,想干啥!');window.location='/'</SCRIPT>"
Response.End
End If
NEXT
NEXT
End if
%>