sql通用防注入3.2 beta 20080820更新

3.2 beta 20080820,修补一处错误导致阻止ip无法使用,谢谢GXM同学反馈,^_^。
update:
将下载的Neeao_SqlIn.Asp覆盖原文件即可。

代码已托管到Google:http://code.google.com/p/defencesqlinject/downloads/list

上一篇:Phpcms 2007 远程文件包含漏洞
下一篇:dedecms tag.php注入漏洞分析与利用

访客评论

1 hanweiali发表于2008-08-20 18:38:00
顶了  俺是第一个
引用   支持(0) 反对(0)  
2 gycable发表于2008-08-20 18:52:32
大家好新手一个,提出一个新问题,希望在这里有朋友能解答!
我使用了
sql通用防注入3.2 beta 20080820更新
出现了,我的统计代码也给杀掉了,不显示了!
在信息查看里面发现了我自己的IP锁定,解锁后开网页马上有锁定!

后来我在设置里面
您认为安全的页面:加入了
test.asp|123123|/CFCount/CF.asp|
但是,还是不起作用,请大家指点
引用   支持(0) 反对(0)  
3 neeao发表于2008-08-20 19:55:05
引用 gycable 说过的话:

大家好新手一个,提出一个新问题,希望在这里有朋友能解答!
我使用了
sql通用防注入3.2 beta 20080820更新
出现了,我的统计代码也给杀掉了,不显示了!
在信息查看里面发现了我自己的IP锁定,解锁后开网页马上有锁定!
后来我在设置里面
您认为安全的页面:加入了
test.asp|123123|/CFCount/CF.asp|
但是,还是不起作用,请大家指点

给我邮件发送你的QQ或者msn给我,我看看怎么回事。
neeaocn{at}Gmail{dot}com
引用   支持(0) 反对(0)  
4 jh2008发表于2008-08-25 18:11:45
俺也不知道
引用   支持(0) 反对(0)  
5 333发表于2008-09-22 23:04:57
所有文件放在inc目录
添加<!--#Include File=\"Neeao_SqlIn.Asp\"-->到conn.asp底部
登入一个后台文件调用了conn.asp出现错误提示

找不到文件 \'E:\\web\\Test\\net\\2\\manage\\inc\\SqlIn.mdb\'。

/xw/inc/Neeao_SqlIn.Asp,行 10
根据错误提示第10行代码:
Neeao_Inject_conn.Open Neeao_Inject_Data_Str

空间是虚拟目录。不在根目录没办法绝对路径。请问怎么解决?
引用   支持(0) 反对(0)  
6 333发表于2008-09-22 23:10:24
对了目录是:
E:\\web\\Test\\net\\2\\manage    /后台页面
E:\\web\\Test\\net\\2\\inc      /sql注入系统3个文件在此目录
调用到conn.asp的文件代码是
<!--#include file=\"../Inc/conn.asp\"-->
<%
Dim DB,BH,OH

Set DB = New AccessDB
Set BH = New BgHelper
Set OH = New Helper

\'关闭所有
Sub CloseAll()
    Set OH = Nothing
    Set BH = Nothing
    Set DB = Nothing
    Conn.Close
    Set Conn = Nothing
End Sub

If Application(\"UpdBuf\") Then
    BH.ReloadCache
    Application(\"UpdBuf\") = False
End If

BH.CheckGrant
%>
引用   支持(0) 反对(0)  
7 333发表于2008-09-25 22:09:56
在我测试中发现个问题。
您认为安全的页面:如果不设置任何东西保存为空,那sql防注入就失效了
引用   支持(0) 反对(0)  
8 neeao发表于2008-09-26 02:34:47
引用 333 说过的话:

在我测试中发现个问题。
您认为安全的页面:如果不设置任何东西保存为空,那sql防注入就失效了

谢谢你的反馈。
引用   支持(0) 反对(0)  
9 register发表于2008-09-27 03:26:09
Microsoft JET Database Engine 错误 \'80004005\'

找不到文件 \'f:\\usr\\Admin\\SqlIn.mdb\'。

F:\\USR\\ADMIN\\../FS_Inc/sqlccc.asp,行28

Microsoft JET Database Engine 错误 \'80004005\'

找不到文件 \'f:\\usr\\cw12242\\user\\SqlIn.mdb\'。

F:\\USR\\USER\\../FS_Inc/sqlccc.asp,行28

不知道什么问题 我把sqlccc.asp 放在了
FS_Inc 下
<!-- #include file=\"sqlccc.asp\" --> 结果报错了
先访问admin\\
后访问user\\
提示不一样
请问哪出错了?
引用   支持(1) 反对(0)  
10 dndby发表于2008-10-19 23:30:56
sql通用防注入3.2 beta 20080820非常好,也非常有用,我看了一下,认为安全页面过滤有问题。
原代码如下:
For Neeao_i=0 To UBound(Neeao_Sec_Form)
if Instr(LCase(SelfName),Neeao_Sec_Form(Neeao_i))> 0 Then
  Exit Function
else
  Call Select_BadChar(values,Neeao_Get)
End If
Next

这个有逻辑上的问题,比如设置的安全页面设置的是a.asp|b.asp,那么Neeao_Sec_Form(0)=a.asp ,Neeao_Sec_Form(1)=b.asp,意思是不用检查这两个页面的SQL注入
如果当前操作的页面是b.asp
他运行的结果就是先从b.asp中找Neeao_Sec_Form(0)也就是a.aps了,结果没找到,就跳转到进行SQL注入检测。和我想要的结果相反了。

我认为应改为
Neeao_Sec_Form为安全设置的页面,不用split拆分成数组。
If Instr(LCase(Neeao_Sec_Forms),LCase(SelfName))> 0 Then
  Exit Function
else
  Call Select_BadChar(values,Neeao_Get)
End If
引用   支持(0) 反对(0)  
11 fosf发表于2008-11-12 14:53:13
还有一点要修改的地方,那就是,数据库中的kill_ip 默认是锁IP ,所以参数中,不锁IP,无效了,当发现有注入,它还是锁定的...
引用   支持(0) 反对(0)  
12 尘月发表于2009-01-05 15:26:33
老大,公布一下联系方式好吗,这样方便沟通,用了你的这个系统,不错,很实用,除了上面大家说的问题建议外,我也有一点要向老大说的啊,那就是不管是单个页面防注还是整站防注,如果从搜索引擎找到的URL想访问网站的话都会被认为是非法注入,开启锁定的话就会被锁定。这一个问题要解决啊,也就是说从外部连接进来的页面都会被认为是非法注入。
引用   支持(0) 反对(0)  
13 neeao发表于2009-01-05 18:01:05
mail:neeaocn@gmail.com
引用   支持(0) 反对(0)  

发表评论


评论内容 (必填):