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

王朝mssql·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

近段时间由于修改一个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://blog.knowsky.com/';" '发现SQL注入攻击转跳网址

Response.Write "<script>"

Response.end

else

SafeRequest=ParaValue

End If

End function

使用SafeRequest函数替换你的Request

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航