此文章主要向大家描述的是正确防范SQL注入攻击的好用方案,近段时间由于修改一个ASP程序(有SQL注入漏洞),在网上找了一些防范办法,可执行性都不咋地,所以我将现在网上的一些方法综合改良了一下,写出这个ASP函数,供大家参考。
以下是引用片段:
- Function SafeRequest(ParaName)
- Dim ParaValue
- ParaValue=Request(ParaName)
- if IsNumeric(ParaValue) = True then
- SafeRequest=ParaValue
- exit Function
- elseIf Instr(LCase(ParaValue),"select ") > 0 or Instr(LCase(ParaValue),"insert ")
> 0 or Instr(LCase(ParaValue),"delete from") > 0 or Instr(LCase(ParaValue),"count(")
> 0 or Instr(LCase(ParaValue),"drop table") > 0 or Instr(LCase(ParaValue),"update ")
> 0 or Instr(LCase(ParaValue),"truncate ") > 0 or Instr(LCase(ParaValue),"asc(") > 0
or Instr(LCase(ParaValue),"mid(") > 0 or Instr(LCase(ParaValue),"char(") > 0 or
Instr(LCase(ParaValue),"xp_cmdshell") > 0 or Instr(LCase(ParaValue),"exec master")
> 0 or Instr(LCase(ParaValue),"net localgroup administrators") > 0 or Instr(LCase(ParaValue)," and ")
> 0 or Instr(LCase(ParaValue),"net user") > 0 or Instr(LCase(ParaValue)," or ") > 0 then
- Response.Write "<script language='javascript'>"
- Response.Write "alert('非法的请求!');" '
发现SQL注入攻击提示信息
Response.Write "location.href='http://dev.yesky.com/';" '发现SQL注入攻击转跳网址
- Response.Write "<script>"
- Response.end
- else
- SafeRequest=ParaValue
- End If
- End function
使用SafeRequest函
上述的相关内容就是对新手入门:防范SQL注入攻击的新办法
的描述,希望会给你带来一些帮助在此方面。
【编辑推荐】