林网博客以前提过,[编写通用的asp防注入程序] [防注入程序带来的攻击及防范] ,今天所说的这个sql通用防注入程序,不是neeao的原始版本,但网上留传比较广的,就是neeao的增强版本了,查下日期,是2006年的版本了,今天发现,neeao事隔两年,再次更新了这个程序;算是玩asp程序者的一大喜事;以前不断有朋友说自己的asp网站中木马,并且也时而会和空间商发现这样的纠纷和摩擦,这都和所使用或者所写的asp网站代码过滤不严谨有关(一般空间商很少在安全上犯这低级错误),但使用这个sql通种防注入程序,加载前过滤一下,万事无忧!
neeao应该是洛阳那边的,后来听说到过广州、上海、北京什么的,估计现在在上海。他的安全博客以前我经常上,近段时间可能是由于他工作比较忙的原因吧,内容不太原创和实用了,事之常情,理解。以下为neeao博客上的“sql通用防注入3.2 beta版以及安装建议”。
原本不打算再更新了,不过最近又有朋友问起了,在测试中确实又发现了一些问题,亲自帮助一个朋友安装调试也发现了一些问题,索性花了点时间修补了下Bug。功能上没有改变,仅仅修补安装时候可能出现的一个bug:
Option Explicit选项打开系统无法正常使用的bug,并且优化了变量定义,防止与用户系统变量重复。
提供一些安装的建议:
1.就是调用主文件的时候,最好采用绝对路径调用,防止因路径问题引起一些不必要的麻烦。如:
<!--#include virtual="/Neeao.com/Neeao_SqlIn.Asp"-->
2.安装的时候,最好能在文件头部调用,有时候可能有些程序在调用数据库连接文件的时候,并不是在头部,如:
<%
search=Request.QueryString("search")
%>
<!--#include file="inc/conn.asp" -->
数据查询语句,将search变量带入sql语句。
这种情况下,虽然conn.asp文件调用了防注入系统,但是一样是没用的,因为sql防注入系统是在变量search通过get获取参数后被调用的,因而就不能防止注入了。
解决方法:将每个文件调用的conn.asp写到代码最上部,比如,上面的:
<!--#include file="inc/conn.asp" -->
<%
search=Request.QueryString("search")
%>
这样写的话,就能防止search变量被注入了。
sql通用防注入3.2betaNeeao版林网博客最新下载.rar
Neeao sql通用防注入3.2 beta 20080820更新:3.2 beta 20080820,修补一处错误导致阻止ip无法使用,update:将下载的Neeao_SqlIn.Asp覆盖原文件即可。
代码已托管到Google下载:http://code.google.com/p/defencesqlinject/downloads/list






