Microsoft Source Code Analyzer for SQL Injection 工具介绍和使用

   Microsoft Source Code Analyzer for SQL Injection 工具是一种静态代码分析工具,可帮助查找 Active Server Page (ASP) 代码中的 SQL 注入漏洞。本文介绍此工具的使用方法、生成的警告及其局限性

用法

<script type="text/javascript"></script> 本部分介绍使用此工具的方法。

语法

<script type="text/javascript"></script> 此工具使用下面的语法:

msscasi_asp.exe [/nologo] [/quiet] [/suppress=num;..;num] [/GlobalAsaPath=path] [/IncludePaths=path;..;path] /Input=file.asp
说明

<script type="text/javascript"></script> 此工具分析 ASP 代码以查找 SQL 注入漏洞。

参数列表

<script type="text/javascript"></script>

收起该表格 展开该表格
参数选项说明
/GlobalAsaPath路径显示 Global.asa 文件的路径。
/IncludePaths路径使用虚拟路径显示所含的解析文件的路径,中间以分号分隔。
/inputasp 文件显示必须分析的 ASP 文件的绝对路径。
/suppress warnings 不报告警告。
/nologo 不显示工具徽标。
/quiet 不显示分析错误。如果您使用“/nologo”和“/quiet”开关,则只显示警告消息。
示例

MSSCASI_ASP /input="c:/source/logon.asp"

MSSCASI_ASP /GlobalAsaPath="C:/source" /input="c:/source/webitems/display.asp"

MSSCASI_ASP /GlobalAsaPath="C:/source" /input="c:/source/webitems/display.asp" /IncludePaths="C:/virtualdirectory1;C:/virtualdirectory2"

MSSCASI_ASP /input="c:/source/webitems/display.asp" /suppress="80406;80407"
<script type="text/javascript"></script>

 

检查输出结果

<script type="text/javascript"></script> 此工具生成下列警告:

收起该表格 展开该表格
警告说明
80400在未经任何输入验证的情况下,从请求对象读取的数据中可能存在 SQL 注入漏洞。这些警告很可能是必须修补的 bug。
80406在通过某些可能执行数据验证的未知函数调用来传递输入数据的情况下,从请求对象读取的数据中可能存在 SQL 注入漏洞。如果函数调用内部未进行数据验证,这些警告很可能是 bug。否则,这些警告为误报。
80403来自于后端服务器的数据中可能存在 SQL 注入漏洞。如果这些数据是由最终用户通过其他网站控制,则这些警告很可能是 bug。但是,如果这些数据可信度很高,则这些警告可能不是 bug。作为深度防御策略的一部分,实行查询的参数化不失为一种好做法。
80407来自于后端服务器并通过某些未知函数调用的数据中可能存在 SQL 注入漏洞。如果这些数据是由最终用户通过其他网站控制,并且未对这些数据进行数据验证,则这些警告很可能是 bug。
80420函数参数中可能存在 SQL 注入漏洞。这些警告是在函数作用域生成的。因此,如果这些函数参数值的来源可信,则这些警告为误报。如果这些参数值是由最终用户控制,则这些警告很可能是 bug。您可以对这些函数参数使用 __sql_pre_validated 批注来检测最终用户是否能够访问此代码。
80421在通过某些可能执行数据验证的未知函数调用传递的函数参数中可能存在 SQL 注入漏洞。您可以对这些函数参数使用 __sql_pre_validated 批注并对验证函数使用 __sql_validate 来检测最终用户是否能够访问此代码。

    在此工具生成的所有警告中,警告 80400 最可能指示实际 bug。ASP Web 开发人员必须使用参数化查询修补这些 bug。

国内网站被挂马的常见原因是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、付费专栏及课程。

余额充值