这个SQL防注入程序怎么回事,代码都不能执行了

kinghome 2008-12-24 03:09:29
使用了以下防注入代码
导致 后台 不能 执行 添加数据了。

是因为 过来 字符中 含有 Insert 的缘故?

SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|cast|drop"
'================================================= 添加数据代码 ===========================================================
<%
dim username,pass,passI,Flag
username=Trim(Request.Form("USERNAME"))
pass=MD5(Trim(Request.Form("passwrod")))
Flag=Trim(Request.Form("webclass"))

sql="Insert into [USER] (username,password,flag) values ('"&username&"','"&pass&"','"&Flag&"')"
conn.execute(sql)

response.write("<script language='javascript'>alert('Successful operation!');location='UserManage.asp';</script>")

%>

'================================================== 防注入代码 ===========================================================
dim sql_injdata,SQL_inj,SQL_Get,SQL_Data,Sql_Post
SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|cast|drop"

SQL_inj = split(SQL_Injdata,"|")
If Request.QueryString<>"" Then 'GET 传递防注入
For Each SQL_Get In Request.QueryString
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
Response.Write "<Script Language=javascript>alert('SQL防注入系统提示,请不要在尝试注入!');window.close()</Script>"
Response.end
end if
next
Next
End If


If Request.Form<>"" Then 'POST 传递防注入
For Each Sql_Post In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
Response.Write "<Script Language=javascript>alert('SQL防注入系统提示,请不要在尝试注入!');window.close()</Script>"
Response.end
end if
next
next
end if
...全文
142 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liyong888_8 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jinjazz 的回复:]
有这些关键字的语句都不能通过...Insert 当然也不行了
[/Quote]
同意
wwd252 2008-12-24
  • 打赏
  • 举报
回复
关注
zhu4139365 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jinjazz 的回复:]
有这些关键字的语句都不能通过...Insert 当然也不行了
[/Quote]up
kinghome 2008-12-24
  • 打赏
  • 举报
回复
从网络上 看了 很多 SQL 防注入 的
都有 过滤 insert update select delect 等关键词的
orven777 2008-12-24
  • 打赏
  • 举报
回复
SQL_Get和Sql_DATA都没获取啊,是怎么回事,不会是我看漏了吧
jinjazz 2008-12-24
  • 打赏
  • 举报
回复
有这些关键字的语句都不能通过...Insert 当然也不行了

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧