用NBSI进行SQL注入***分析及安全解决方案
用NBSI进行SQL注入***分析及安全解决方案
1.NBSI简介
NBSI(NB联盟SQL注入分析器)是由NB联盟独立开发的一套高集成性Web安全检测系统,经一年多的更新优化,在ASP程序漏洞分析方面已经远远超越于同类产品,特别是对于SQLServer的分析,具有极高的准确率及成功率(引自软件自述文件)。
2.实例
步骤1:打开软件主界面,如图3-196所示。

图3-196
步骤2:网站扫描。
步骤2:网站扫描。
单击“网站扫描”按钮→输入网站地址→单击“扫描”开始扫描→得到如图3-197所示的扫描结果。

图3-197
步骤3:注入分析。
步骤3:注入分析。
在扫描结果中选择一个“可能性极高”的地址填入到注入分析中“注入地址”文本框中,单击“检测”按钮,就能得到分析结果,如图3-198所示。
图3-198
步骤4:高级分析。

图3-198
步骤4:高级分析。
可以对该SQL数据库进行表名和列名的猜解,如图3-199所示。
图3-199
步骤5:根据上节介绍的方法进行手工注入***。

图3-199
步骤5:根据上节介绍的方法进行手工注入***。
3.安全解决方案
关于如何防止与防御SQL注入,这里总结了两个解决方案:手工防御、外加防御。
手工防御主要是指利用手工修改程序与脚本运行环境来达到清除漏洞的目的,可以使用替换函数对脚本吸入的变量进行替换形式的修改。
input = replace(input,"'","''")
除了单引号外,其他的注入符号也可以如此类推。至于脚本运行环境的修改主要是指删除一些容易被***者利用的扩展存储过程,如:
xp_cmdshell
xp_reg*
xp_servicecontrol
sp_oa*
xp_startmail
xp_sendmail
sp_makewebtask
xp_reg*
xp_servicecontrol
sp_oa*
xp_startmail
xp_sendmail
sp_makewebtask
还有就是在调用数据库时最好把数据库的Owner改为非sa用户,这样就可以防止***者在得知SQL注入后使用sp_addextendedproc进行扩展过程恢复了。
外加防御的方式就是配合其他设施(硬件/软件)对SQL注入的“根源”(客户端的POST内容)进行过滤。无论是硬件还是软件它们的原理都是一样的,对POST的数据进行解码,一直到应用层,对应用层的数据进行关键字过滤,最后进行相关的操作。在硬件的实施上,这样的防御行为主要是交给过滤网关与IDS实现的。不过毕竟能用上这样的硬件设备的人还是不多的,所以应选取专用软件作为主要的“防御武器”,综合了一下最近的软件安全产品,推荐eEye公司的SecureIIS。
还有就是管理页面,不用的时候最好放到别的目录,用的时候再放回去,虽然有些麻烦,但是很实用。
本文节选自电子工业出版社2009年5月出版的 《******实战详解》一书。
本文节选自电子工业出版社2009年5月出版的 《******实战详解》一书。

到当当网购买
到卓越网购买
到china-pub购买
浏览更多精彩文章>>
订阅软件安全电子期刊>>
订阅软件安全电子期刊>>
转载于:https://blog.51cto.com/broadviewsec/190731