当前位置:网络资源中心文章中心新闻资讯网上冲浪 → 文章内容

测试SQL防注入脚本

减小字体 增大字体 作者:0888  来源:不详  发布时间:2008-4-10 0:36:42

近日有些客户向我咨询关于如何防御SQL注入的问题。
案例A:修改代码嘛?太‘硬’,需要一定的技术功底…
案例B:买附加的‘应用层防火墙’产品?比较‘软’,但成本问题如何解决呢???
目前网上流传着通过防注入脚本来解决这方面的问题。的确,技术含量不高(因为技术含量都由产品的安全开发人员替您解决了…),而且是开源/免费的。

废话少说,先替客户测试一下。搜了一下目前比较常见的防注入脚本(本次测试主要针对最流行的ASP+ACCESS),最后锁定由neeao开发的《SQL通用防注入系统3.0(asp)》;自己‘弄’了个有缺陷的脚本(--修改《E-style工作室全站程序 E.0》ASP+ACCESS脚本):
A、删除shownews.asp中以下内容(增加GET的SQL注入缺陷):
if not isInteger(request.querystring("news_id")) then
founderr=true
errmsg=errmsg+"<br>"+"<li>非法的新闻id参数。"
end if
B、替换lib/admin_body.asp的内容(增加POST的SQL注入缺陷):将
adminname=trim(replace(request("adminname"),"’",""))
adminpwd=trim(replace(request("adminpwd"),"’",""))
替换为
adminname=trim(request("adminname"))
adminpwd=trim(request("adminpwd"))

然后下载防注入脚本《SQL通用防注入系统3.0(asp)》:
(下载地址:http://www.neeao.com/blog/attachments/200504/25_215025_neeao.rar
解压缩后有四个文件,除去说明文件neeao.txt外,核心为Neeao_SqlIn.Asp的过滤引擎、用于管理的Neeao_sql_admin.asp脚本、用于存储被过滤日志/资料的数据库SqlIn.mdb。

首先看看关于GET的shownews.asp的内容:shownews.asp中屏蔽因为‘非整型参数’的错误定义后直接就调用自定义函数rcount,其内容:
function rcount()
OPENnews 
set rscoun

[1] [2] [3] [4] [5]  下一页