回 帖 发 新 帖 刷新版面

主题:[转帖]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+"&lt;"
        case ">"     : result=result+"&gt;"
        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+"&#39;"
        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程序人员的企业用户。


回复列表 (共1个回复)

沙发

谢谢楼主的辛苦整理,我顶,QQ;444865447

我来回复

您尚未登录,请登录后再回复。点此登录或注册