主题:[转帖]ASP防注入大全
ASP防注入大全
现在基于web的攻击一般都是注入。导致注入的原因一般为对变量的过滤不完全,从而可以使入侵者非法执行程序或查询修改任意数据。
说到ASP防注入无非也就是过滤敏感的关键字,如: ' % and or 等等。像下面的几个函数可与防注入:
适用范围,任何可能要在SQL中出现的都经此函数过滤一下,就没事了。如:
id=coder(request("id"))
keyword=coder(request("keyword"))
Function coder(str)
Dim result,L,i
If IsNull(str) Then : coder="" : Exit Function : End If
L=Len(str) : result=""
For i = 1 to L
select case mid(str,i,1)
case "<" : result=result+"<"
case ">" : result=result+">"
case chr(34) : result=result+"""
case "&" : result=result+"&"
case chr(13) : result=result+"<br>"
case chr(9) : result=result+" "
case chr(32) : result=result+" "
case "'" : result=result+"'"
case else : result=result+mid(str,i,1)
end select
Next
coder=result
End Function
但现在很多人面临的问题是:随着网上源代码越来越多,很多程序员直接就使用现成的代码。这样的话,文件会很多,又不能逐一添加函数检查过滤,非常的耗损精力。那么笔者推荐你使用通用的防注入程序(免费的)。
ASP通用防注入程序有不少 ,在网上随处都可以下载。
它们的使用方法非常的也都简单, 使用时只须在要防注入的文件头中加入形如<--#Include File="WrSky_Sql.Asp"-->的代码就可以实现对变量的过滤。如果在数据库连接文件(如conn.asp)后加入程序代码,则可以实现整站的变量过滤,从而达到防注入的效果。
如果你还是不满意要手工添加代码的话,我只能是推荐你使用服务器组件了。比如现在的很多防盗链产品都附带有这个功能,你要是不需要防盗链还有专门的组件“Asp-isapi通用防注入组件”。这类产品的使用方法就很傻瓜了,按说明安装在服务器上后。就算你不懂ASP程序也能防网站上的所有注入问题了,而且还不用改代码。很适合那些找了别人做网站,又担心有注入漏洞而又没有相应的ASP程序人员的企业用户。
现在基于web的攻击一般都是注入。导致注入的原因一般为对变量的过滤不完全,从而可以使入侵者非法执行程序或查询修改任意数据。
说到ASP防注入无非也就是过滤敏感的关键字,如: ' % and or 等等。像下面的几个函数可与防注入:
适用范围,任何可能要在SQL中出现的都经此函数过滤一下,就没事了。如:
id=coder(request("id"))
keyword=coder(request("keyword"))
Function coder(str)
Dim result,L,i
If IsNull(str) Then : coder="" : Exit Function : End If
L=Len(str) : result=""
For i = 1 to L
select case mid(str,i,1)
case "<" : result=result+"<"
case ">" : result=result+">"
case chr(34) : result=result+"""
case "&" : result=result+"&"
case chr(13) : result=result+"<br>"
case chr(9) : result=result+" "
case chr(32) : result=result+" "
case "'" : result=result+"'"
case else : result=result+mid(str,i,1)
end select
Next
coder=result
End Function
但现在很多人面临的问题是:随着网上源代码越来越多,很多程序员直接就使用现成的代码。这样的话,文件会很多,又不能逐一添加函数检查过滤,非常的耗损精力。那么笔者推荐你使用通用的防注入程序(免费的)。
ASP通用防注入程序有不少 ,在网上随处都可以下载。
它们的使用方法非常的也都简单, 使用时只须在要防注入的文件头中加入形如<--#Include File="WrSky_Sql.Asp"-->的代码就可以实现对变量的过滤。如果在数据库连接文件(如conn.asp)后加入程序代码,则可以实现整站的变量过滤,从而达到防注入的效果。
如果你还是不满意要手工添加代码的话,我只能是推荐你使用服务器组件了。比如现在的很多防盗链产品都附带有这个功能,你要是不需要防盗链还有专门的组件“Asp-isapi通用防注入组件”。这类产品的使用方法就很傻瓜了,按说明安装在服务器上后。就算你不懂ASP程序也能防网站上的所有注入问题了,而且还不用改代码。很适合那些找了别人做网站,又担心有注入漏洞而又没有相应的ASP程序人员的企业用户。