Microsoft Source Code Analyzer for SQL Injection 使用心得

        由于经常要安检公司维护的网站,而且大部分的网站都是很老旧用ASP做的网站,工作繁多、琐碎,安全问题一直没法彻底根治。无意中看到这款微软的工具,非常符合我的日常工作内容,但是不足之处是:即使使用它,工作量依然巨大繁琐。因此借助Microsoft Source Code Analyzer工具,做了一个程序自动化扫描ASP网站,找出网站中的SQL漏洞。

       工欲善其事,必先利其器。如果要正确的执行所有的扫描,对Microsoft Source Code Analyzer 工具执行时返回的错误信息要了然于胸,保证测试执行的正确性,这样才能保证测试结果的准确性。下面列几个常见的工具执行时的提示信息及解决方法:

 

  1 ** msscasi_asp failure: Include directive must specify either a 'file' attribute or a 'virtual' attribute

 

  关键字:failure,表示分析失败,这个文件没有执行分析,不解决的话影响测试结果。

  失败根本原因是:在当前扫描的ASP文件中,在文件最后</html>下面使用了“<!--#include file="a.aspx" -->”包含,如果在当前ASP文件的包含文件中也错误的使用“<!--#include file="a.aspx" -->那么也会导致扫描错误,返回上述错误信息。当时一直以为是包含文件的方法问题,走了很多弯路,终于顺利解决。

  

  解决办法:

1 找到文件,并且将包含文件的代码粘贴到<html></html>标签之间

2 删掉包含代码,将包含文件的所有代码粘贴在当前位置(具体看代码是否影响扫描)

3 在包含文件的代码的最后回车,添加一行。<!--#include file="../"-->扫描通过

 

 

  2 ** msscasi_asp failure: cannot load file "F:/web/kankan/index.asp"

 

  关键字:failure 分析失败。

 

  失败原因: 文件路径不正确,文件完整物理路径中不能使用空格,否则扫描失败

 

  解决方法: 替换所有文件夹名及asp文件的空格。当然前提是要备份好程序。

 

3 ** msscasi_asp warning: Virtual include include/Title_name.asp was not found in any of the specified include paths.

 

  关键字:warning,警告,扫描完成,但结果不一定完全准确。

 

  警告原因: 在执行扫描时, /IncludePaths=;; 中包含文件的路径不全或者不正确。

 

  解决办法: 依据提示,找到代码,执行时添加相应的目录。

 

4  ** msscasi_asp warning: Error parsing tag attributes: Expected whitespace Ignoring attributes and attempting to continue.

 

  关键字:warning,警告,扫描完成但不一定完全正确。

 

  警告原因: 主要是包含文件产生的,如果一个ASP文件包含了<!-- include file="include/menu.asp" --!>,如果menu.asp文件只有HTML代码没有完整的</html>结尾或者最后没有空行,那么扫描工具就会提示上诉警告。

 

  解决办法: 在menu.asp页面中的最后敲回车,添加一行空白行。问题顺利解决

 

国内网站被挂马的常见原因是SQL注入攻击。那么,除了在Web开发的时候注意以外,有什么有效的工具可以对抗SQL注入攻击? 今天,微软和惠普的安全部门合作发布了三个工具,分别是: 微软SQL注入攻击源码扫描器:Microsoft Source Code Analyzer for SQL Injection (MSCASI)。这个工具给网站开发人员使用。是一个静态扫描ASP代码的工具,可以查找发现第一类和第二类的SQL注入攻击漏洞。工具下载地址: http://support.microsoft.com/kb/954476 惠普的 Scrawlr工具。这个工具可以被网站的维护人员使用,是一个黑箱扫描工具,不需要源代码。指定起始URL开始扫描。缺点是不能准确定位代码的漏洞(因为是黑箱测试)。工具下载地址: http://www.communities.hp.com/securitysoftware/blogs/spilabs/archive/2008/06/23/finding-sql-injection-with-scrawlr.aspx 微软的URLScan 3.0 Beta。这个工具可以被网站的维护人员使用。它是一个输入过滤工具。如果你发现网站被SQL注入工具,你可以在一边修补代码漏洞的同时,使用这个攻击在过滤掉恶意的输入。当然,修补代码中的漏洞是完全避免SQL注入攻击的真正解决方案。工具下载地址: http://blogs.iis.net/wadeh/archive/2008/06/05/urlscan-v3-0-beta-release.aspx SWI的博客上有更进一步的描述。http://blogs.technet.com/swi/archive/2008/06/24/new-tools-to-block-and-eradicate-sql-injection.aspx 那么,这三个工具是如何配合使用的?下面给出一个例子。 步骤一:网站的维护人员使用Scrawlr扫描网站,检查是否存在SQL注入漏洞 步骤二:发现存在漏洞后,通知开发人员。开发人员使用MSCASI对ASP源码静态扫描来确定代码中什么地方导致的SQL注入攻击漏洞。 步骤三:在开发人员修补漏洞的同时,维护人员可以使用URLScan来过滤可能的恶意输入,以确保网站的安全。 这三个工具的配合使用可以很大程度上减少网站被挂马的可能。说实话,现在被挂马的网站实在是太多了! 以上三个工具均可以在我上传的资源中找到! 微软上面有时候还真难下下来,所以我都传上来了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值