新手入门:防范SQL注入攻击的新办法

文章作者 100test 发表时间 2007:09:08 13:08:28
来源 100Test.Com百考试题网


  近段时间由于修改一个ASP程序(有SQL注入漏洞),在网上找了很多相关的一些防范办法,都不近人意,所以我将现在网上的一些方法综合改良了一下,写出这个ASP函数,供大家参考。

以下是引用片段:
Function SafeRequest(ParaName)
Dim ParaValue
ParaValue=Request(ParaName)
if IsNumeric(ParaValue) = True then
SafeRequest=ParaValue
exit Function
elseIf Instr(LCase(ParaValue),"0select ") > 0 or Instr(LCase(ParaValue),"insert ") > 0 or Instr(LCase(ParaValue),"0delete from") > 0 or Instr(LCase(ParaValue),"count(") > 0 or Instr(LCase(ParaValue),"0drop table") > 0 or Instr(LCase(ParaValue),"0update ") > 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 " language=javascript>"
Response.Write "alert(非法的请求!)." 发现SQL注入攻击提示信息
Response.Write "location.href=http://dev.yesky.com/." 发现SQL注入攻击转跳网址
Response.Write ">"
Response.end
else
SafeRequest=ParaValue
End If
End function

  使用SafeRequest函数替换你的Request



相关文章


用A 调用SQLServer的视图和存储过程
数据库辅导:SELECT语句
列出SQLServer数据库中所有的存储过程
SQLServer数据库同步问题
新手入门:防范SQL注入攻击的新办法
另类方法_虚拟内存设置也能精确计算
如何解决SQLServer占用内存的问题
教你如何在MySQL数据库中直接储存图片
移动开发:第一次亲密接触移动数据库
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛