对主流扫描工具漏洞检测能力的 测试与分析 索亮 【摘要】目前商业市场上的Web应用安全扫描工具,它们的检测漏洞能力尽管在伯仲之间.但它们都有各自的优势和侧重, 对于广大用户而言,在选用Web应用安全扫描工具产品上,就要结合系统的需求特征选择不同特性的web应用安全扫描 工具产品.实现对漏洞的检测和对症下药。 【关键词】web应用工具;安全扫描:检测漏洞 一.综述 (AppScan)l Access(wVs自带)。 面对风起云涌的Web应用扫描工具市场,产品的能 力也是参差不齐,有些软件可以针对个别网站检测出注入 和跨站,并且罗列大量的变种和错误信息,就号称是全面 的应用系统扫描工具。为了展示Web应用扫描工具的 真实实力,这次我从商业市场上选择了三款市场占有率最 高的Web应用扫描工具: IBM Rational AppScan、 Acunetix Web Vulnerability Scanner 和SecDomam 测试目标: 说明:目标网站分别为三款软件所属的公司公布测试 网站,另一个是我一个朋友的网站,这样应该相对公平。 testphp.acunetix.com demo.testfire.net demo.webravor.corn 综合网站。 WebRavor。当然,我无法选择所有的应用扫描工具进行 测试方法: 三款软件使用默认的设置,在未登录的情况下对4 个站点分别进行检测,对扫描到的弱点进行验证并得出 准确率。 测试,如HP Weblnspect,并不是没有测试就说明产品的 能力存在问题,Weblnspect比起其余没有测试的同类产 品,能力还是高出很多。 本次测试是三款Web应用系统扫描工具的功能和性 能进行测试,为了保证测试的公平性,使用同样的机器配 置和系统环境,每完成一个软件测试都会对机器进行重 启,力图得到一个真实的测试结果。 漏报率的统计按照3款软件都具有的策略进行统计, 如3款软件都有SQL注入策略,对SQL注入的漏报率进 行统计。 二.功能比较 2.1功能分析 此次测试首先对三款软件的功能进行了比较。从功能 测试对象: IBM Rational AppScan Version 7.8.0.831 (以下 简称:AppScan) Acunetix Web Vulnerability Scanner Version 6.5 上看,三款软件各具特色,我们选出具有代表性的功能进 行分析。 HTTPS Build 20100210(以下简称:wVS) SecDomam WebRavor Ultra Edition VersiOn 4.50 三款软件都支持对SSL协议的应用系统进行扫描。 但WebRavor支持SSL转发功能,可以从本地实现代 理,抓获未加密的数据包的内容,对发送包里的参数进行 检查。 Build 2899 (以下简称:WebRavor) 测试环境: 处理器:2.00GHz;内存:2Gl硬盘:100Gl操作系 统:Windows 20031支持环境:.net Framework 3.5 ・多任务 120・2010.08・信息安全与技术 AppScan和WVS每个项目只能开启一个任务进行扫 描,同时开启多个项目后资源占用很严重。WebRavor可 AppScan提供了手动探索功能,该功能只能在一个 任务开始前和开始后才能启用 wVs没有此项功能t 以同时发起多个任务进行扫描,资j 控制相对较好。 计划任务 计划任务提高了软件的自动化程度,降低了工作人员 的管理成本。AppScan测试的这个版本没有提供计划任 务。WVs和WebRavor提供了计划任务,提高了产品的 易用性。 WebRavor也提供了此项功能,在扫描的任何时候都可以 开启和关闭此功能。 复杂的应用系统 对于复杂的ERP系统和C/S架构的应用系统, AppScan和wVs无法支持,而WebRavor能够支持各类 应用系统。 被动扫描 更多功能的比较详细清单参照下图: 产品 IBM R ati Onal A c U n e t i X W e b WebRavor 4.5 A P P S C a n Vulnerabi Iity Scanner 6.5 7 8 O.831 DetaiI 公司 平台 旧M Acunetix 在2006年BlackHat和Def-Con发布.被评价为商业市场上最 好的Web安全扫描工具。 北京安域领创科技有限公司 全内资公司.1Oo%版权和源代 (China) 码。 Windows 20OO Windows 2000及以上 Windows 2000及以上 及以上+ NET Framework 开发语言 无需.NET和任何数据库支持, 安装简便。 运行环境(推 2.4G/1 G/1 OG 2 0G/1G/5G HD Free 2 4G/2G/1 0G HD Free Space 荐) HD Free Space Space 检测项目 HTTPS支持 YES YES HTTPS证书支 YES YES .NET 未知 MFC YES YES N0 YES 本地主机对SSL进行转发。 任何时候都可以开始新的任 持 SSL转发 NO 多任务(同时 NO NO NO 扫描不同应 用) 使用计划任务 不能批量扫描 及批量扫描 全域扫描 No 自动扫描 单一域名/IP 半自动扫描 YES YES NO 单一域名/IP NO 务,不必等待,并且提供“任务 管理器”.可任意进行调度和管 理。 YES YES 单一域名/多域名/IP YES 支持定时扫描.及批量导入域 名进行扫描。 对网站的整个域进行扫描。 半自动扫描常用于ERP用户 交互性比较高的系统.用户按 照正常的工作模式进行操作. WebRavor可自动检测出弱点。 对访问的网页.WebRavor可以 自动进行扫描 主动对网站检测的同时,对访 司页面进行被动扫描。 提供交互式测试平台,测试结 被动扫描 混合扫描 YES NO NO NO YES YES YES YES 交互性测试 YES 果直接.例如修改后的结果直 接在浏览器中得到显示.常用 于复杂的XSS和其它安全项目 检测。 信息安全与技术-2010.08・121・ c/s结构的应 NO 用的漏洞检测 断点续扫 YES NO YES 可以提供任何基于http或者 https协议的扫描.不管是B/S 结构还是C/S结构等。 可以从中断位置继续上一次扫 描进程。 由于软件本身或者外部原因造 成的软件崩溃.可以自动重启 并恢复到意外发生前的扫描状 态。 YES YES 异常中断恢复 NO 扫描 NO YES 多策略可选 YES FORM检{Injection) YES YES YES YES YES YES YES YES 测 YES 针对同一个内容的扫描可提供 多种策略选择。 自动分析网页中的表单。 检测登录表单中存在的弱密 码。 FORM弱口令 YES 检测 URL重定向 YES 代理服务器 单一服务器 线程控制 NO NO NO 多个服务器轮询 YES 使用代理服务器对目标进行扫 描。 对扫描任务的线程进行控制. 控制扫描对服务器产生的影 响。 提供应用后台数据库的配置信 息,某些数据库可以获得数据 库用户和密码.并且对密码进 行强度检测。 可以进行渗透性测试.测试方 法可自行设计。 任何功能都可以自行扩展 无 需改动原代码.无需编程知识。 数据库基线审 N0 计 N0 YES 渗透测试框架 NO 策略扩展性 YES CGl Scan YES NO NO YES YES 可以扩展功能 YES 重夏贝回越撼 扫描开始前手工 NO 自动/手工《任何时候) 对于大型的网站.可以自动过 滤掉大量重复、类似的页面,节 约扫描时间。 任 所伺 鳅 YES YES YES SQL注入 式检测 YES YES YES Cookie注入方 NO NO YES 独有方式。 支持字符变形 NO Javascript页面 YES 爬行 N0 YES NO YES YES 可以绕讨某 美锤字检测系统 支持从Javascript中提取URL。 数据库类型识 NO 别 MSSQL/ACCESS/MYSQL/ 能自动识别应用系统后台的数 ORACLE/DB2/INFORMIX/ 据库.并且自动读出数据库名 SYBASE/PostgreSQL/Ingres/ 称和用户名称.以用于证实弱 FireBird 点的存在,防止抵赖。 MSSQL/ACCESS/MYSQL/ ORACLE/DB2/INFORMIX/ SYBASE/PostgreSQL/Ingres/ FireBird 特定数据库漏 N/A 洞挖掘 N/A 数据库结构和 NO 内容获取 NO MSSQL/ACCESS/MYSQL/ 可以获取整个用户表结构和里 0RACLE/DB2/INFORMIX/ 面的内容,还可以进行智能查 SYBASE/PostgreSQL/Ingres/ 找。 Fifebird 定位注入参数 YES XSS YES YES YES YES YES 目录访问 YES YES YES ・122・2010.08・信息安全与技术 敏感文件检测 YES 隐藏目录扫描 YES 网页木马检测 NO YES YES NO YES YES/可扩展 YES/可扩展 复杂(ERP) 应用 NO OnIine XML NO OnIine XML.AVDL YES 0nline CSV XML 可以自动扩展敏感目录的类型 可以自行设定新的网页木马特 征标志。 例如:网银、在线电子商务等 升级形式 数据导出 任何数据都可以通过CSV格式 导出.以方便产生EXCEL表格 (中文 英文)。 报告格式 PDF、HTML、RTF PDF、HTML、TEXT、WORD PDF、XML、HTML、MHT、DOC 报告模板定义 YES YES YES 可以使用图形化工具自行设计 系统资源调控 N0 支持语言 NO YES 英文/简体中文 报告版式。 设置产品自身占用的系统资 源。 英文/简体中 英文 文 根据操作系统自动选择语言。 2.2功能总结 在对应用系统类型的支持上,三款产品都支持HTTP 和HTTPS协议的应用系统,但是对于复杂的ERP系统, APPSCAN和WVS不能够支持,只有WebRavor能够 支持。 三款产品都具备了应用系统评估工具的基本功能: 3.1测试时间 3.2结果统计 统计的基础规则: 爬行和检测。wVs过于依赖自己的爬行和检测的能力, 不允许按web应用系统操作流程的方式进行手动测试, 不允许策略扩展,这对于千变万化的应用系统是致命的 wVs的统计包括了所有的变种,我在统计的过程中去 除变种的数字,按照出现漏洞的参数进行统计,这样我认 为是比较科学的WEB应用弱点统计的方法。 准确率的统计分两种方法: 1.按照每个产品发现的弱点进行验证,如A工具的弱 弱点。AppScan和WebRavor允许手动测试和策略的 扩展,WebRavor的手动测试更易用,在扫描过程中就 可以使用,而AppScan是在扫描开始前或结束后采用访 问记录的方式对记录的页面进行检测。 数据库审计和渗透测试是WebRavor独有的功能, 通过SQL注入点对数据库进行审计,获取数据库信息和 提供渗透测试框架,从而证明应用系统漏洞的危害性。 AppScan和wVS在SQL注入的验证上还存在不足,不能 证明弱点是否对应用系统造成的危害。 综上所述,从软件的功能上来看,在对更多更复杂的应 点为Al、A2、A3,对A1、A2、A3的弱点进行验证,验证出 的真实弱点/总弱点数=准确率,工具B同样采取此方法。 2.对具有相同弱点名称的弱点,如3个工具都具有检 测SQL注入的策略,则对发现SQL注入的准确率进行统计。 3.2.1 AppScan弱点统计与分析(见表1) 3.2.1.1整体状况 AppScan的弱点列表中存在“参考消息”,是电子邮件 地址、敏感信息和Web应用系统产生错误时的敏感信息, 用系统的检测能力上,WebRavor更胜一筹,并且能够对弱 点的危害进行验证。AppScan在对ERP系统的支持上不 能够令人满意, 而WVS没有提供任何的扩展功能,一旦 遇到应用程序无法识别的状况,该软件则无法使用。从功能 无法判断准确与否,所以不在统计范围内。 通过统计可以看出,AppScan还存在一定的误报,需 要人工对弱点进行验证,因此,使用者也需要具备一定的 渗透测试基础。 3.2.1.2 AppScan结果分析 通过依次对AppScan在测试过程中发现的弱点的高、 信息安全与技术・2010.08・123・ 上综合分析,WebRavor最强,AppScan稍弱,wVs其次。 三.结果分析 表1 、\ \ 立口 。 AppScan 测试站点’\ 、\ 高 由 低 注入3个 数据库错误模式 目录列表2个,框架 mulitiviews攻击6个.PHPINFO信息泄 testphp acunetix com 4个 跨站4个,合计11个: 钓鱼6个,合计8个; 漏1个,Js引用COOKIE1个.TRACE 11/14=78.5%。 8/8=1 00%。 和TRACK HTTP方法1个,合计9个; 9/1 1=81.8%。 数据库错误模式3个,跨站 链接注入2个,目录 注释敏感信息泄漏1个,服务器路径泄漏 demo testfi re.net 3个(1个误报),合计6个; 列表1个.合计3个; 1个.敏感文件1个.测试脚本1,asp.net 6/1 0=6O%。 3/3=1 O0l%。 调试3个:7/7=1∞% 跨站3个.合计3个; 链接注入1个,通过框 cal2.jsp跨站1个,HTML注释敏感信息泄 3/4=7EI%。 demo.webravor corn 架钓鱼1个.合计2个; 漏3个,源代码泄漏模式38个,路径泄漏 2/54=3.7%。 模式6个.测试脚本1个.js cookie引用 3个,未授权的java Servlet源代码访问1 个,合计53个;53/53=1O0%。 PUT方法4个.SQL注入 响应分割1个,目录列 注释敏感信息3个,测试脚本1个, 1个.文件参数变更1个. 表1个,启用了不安全的 Trace和Track方法1个.合计5个: WWW.target com I 发现数据库错误模式11 HT11)方法4个.URL重 5/7=71 4%。 个跨站3个,合计2O个; 定向钓鱼1个,已解密的 .l l 20/32=62.5%。 登录请求1,合计8个; 8/11=72.7%。 userName测试实例: RIST—岫 ^I●—噜嘲嘲I m ifrllP ̄lI' 中、低等级的策略进行分析。 1.高等级弱点 SQL注入的误报依然比较高,AppScan无法摆脱设计 的缺陷,无法获取数据库信息作为SQL注入弱点的证据, 也无法发现COOKIE编码型的注入。 C∞kI.:娼Es∞ ■^16D.31 恻埘憾∞£“1^s1S阳^猢 CanI。r-^— Il 52 ^‘州: ^a囊一^_ l椿q l 一^ 辅臻 撼 0(canpa哺畦 Is£8囊 I'32) I■I—t尊辫,静 H蠕r ^ 啪融— _。0 №自b埘lo 哪静rI螂.c “SQL注入文件写入”虽然作为弥补AppScan在检测 SQL注入漏洞上的不足,但是在实际测试中发现该策略均 是误报。 “发现数据库错误模式”的工具描述:AppScan在测 Wrnp^ 椭秣 C 嘲酣tt期 脚118 Serm':^ ct 《。’删C啊曩.嘲t-l’■斟l∞l一由l鬟时料秘毫- B-慷Frt 21№ 29t0’耻 毪170哺r .呻曲呲, q 舻 试响应中发现到“SQL注入”以外的攻击所触发的“数据 库错误”。虽然不确定,但这个错误可能表示应用程序有 “SQL注入”漏洞。通过描述可以发现该策略是SQL注入 检测的一个辅助策略,可以帮助渗透人员进行手工测试。 “跨站点脚本编制”的准确度比较高,但是还存在一定 的误报,误报的原因主要集中在,工具同时提交两个或多 {H蝌e’l6 盂蕾rIme, 碓 鸭 6盂》s1 “蚓 H州'759唧l舟焖#抽。押’ t r I 强差 3 userindex.jsp测试实例: ■■■-■●‘_ _划 个参数,前面的参数有跨站漏洞,而后面的参数不确定是 否有跨站漏洞,工具的判断会出现误报。如下图所示: userName参数存在跨站漏洞: l悯_叫————●●———●——————●蜘 l 篮 。冀 ~ “ _ 一 …¨ ’轴 悄 哪 舯 材 “ i; 蟠 幽 — 。o霸豳墨 ◇u §rind娃.j譬p ・锄 124・2010.08・信息安全与技术 同时对u ̄rName和pa ̄word参数进行了修改,其实 只是u ̄rName存在跨站脚本漏洞,而pa ̄word参数并 未出现跨站漏洞。 断该源代码是否有利用价值,软件都不能自动的去判断这 些弱点的危害。 3.2.2 WVS弱点统计与分析(见表2) 3.2.2.1整体状况 wVS测试的时间和验证时间最长。wVS在测试SQL 注入时虽然细分成SQL注入、盲注、XPATH注入、基于时 间差的注入等策略,但是依然需要手工验证SQL注入的真 实性,并且无法检测Cooke编码行的SQL注入。wVs在 测试过程中未响应一次。wVS把每一个弱点的所有变种 都一一测试,导致效率低下。在验证的时候对每个变种进 l聃 … ㈣{ l 行验证,导致验证时间过长。wVs策略中有很多重复的 地方,如目录列表和GHDB的目录列表,结果是一模一样 2.中等级弱点 “链接注入”从测试的策略看是图片的跨站,测试过程 中未发现误报。 “通过框架钓鱼”是跨站脚本编制漏洞的变形,将原来 的<Enpt>替换成<iframe>。 的;PHP无效的数据类型错误信息弱点包含在应用系统错 误信息中,只是发送包的策略不一样。在测试统计中去除 了弱点变种和提示信息。 3.2.2.2弱点分析 “启用了不安全的HTTP方法”的误报率比较高, “URL重定向钓鱼”、“目录列表”的准确率较高。 低等级弱点一般是敏感信息、源代码泄漏、路径泄漏 等,信息具有参考价值,源代码泄露的危害有多大,需要判 表2 \\\ 1.高等级弱点: SQL注人误报很高, 不能获取数据库信息,不能为 SQL注入提供证据。 跨站比较准确,包括了TOMCAT实例跨站、U 跨站等。 WVS 测试站点、\ ‘局 一 由 低 跨站7个.注入7个,HTTP 备份文件1个,PHP信息 Trace方法1个.服务器版本信息1个, 分割相应1个,PHP代码 页面2个,应用系统错误 URL重定向1个,合计3个 3/5=60%。 testphp.acunetix.com 注入1个,合计16个; 信息页面8个,PHP无效 1 6/37=43 2%。 数据类别信息4个.合计 1 5个;1 5/22=68 1%。 跨站4个,路径跨越1个. cookie操纵T个.应用系 asp.net调试3个,敏感文件1个.目录泄 demo.testfi re.net 合计5个;5/8=62.5%。 统错误信息3个,合计4 漏2个,敏感文件未加密1个,合计7个: 个:4/4=1oo% 7/9=77.8% 跨站5个.TOMCAT实例跨 cookie操纵4个,应用错 敏感文件1个,敏感目录4个.目录列表 demo.webravor.tom 站1个.注入3个.合计9个; 误信息4个,PHP无效数 38个.合计43个;43/84=52.2%。 9/9=1 00%。 据类别信息1个,合计9 个:9/52=1 7.3%。 跨站3个.注入1个,路径跨 应用程序错误9个.PHP URL重定向1个,敏感文件3个.敏感目 越1个,URI跨站1个,合计 数据类型无效的错误信 录3个,PROFIND方法开启6个,合计13 WWW.target.corn 6个;6/6=100%。 息3个.备份文件1个, 个;13/1 7=76.5%。 目录具有写权限6个.合 计1 9个;1 9/2o=90%。 信息安全与技术・2010.08・125・ wVs把H1vrP响应分割归类为高等级弱点, AppScan则归类为中等级弱点。 2.中、低等级弱点: 中、低等级弱点不像AppScan和WebRavor那么清 SQL注入可以自动获取后台数据库的名称和连接用户 名,证明弱点的真实存在;。 “TOMCAT管理端弱密码”可以使用TOMCAT的弱 密码登录后台;。 晰,URL重定向,敏感目录这些可以被利用的弱点放在低 等级;错误信息,PHP信息页面需要判断信息是否有价值 的弱点放在了中等级。 “Access数据文件泄漏”直接下载格式为mdb的数据 库文件。 2.高等级弱点: 3.2.3 WebRaovr弱点统计与分析(见表3) 3.2.3.1整体状况 “跨站脚本攻击”,WebRavor和wVs都很准确,只有 AppScan存在一定误报;。 “存在弱密码或者可以被绕过”可以直接导致攻击者 绕过身份验证进入到应用系统;。 “EwebEdit0r数据库文件”攻击者可以直接获取数据 库文件;。 WebRavor弱点分类按照危急、高、中、低四种等级进 行分类。SQL注入、Access数据文件泄漏等攻击者可以 直接利用或者获取有价值信息的弱点归为危急等级;弱密 码、跨站等需要攻击者进一步操作的弱点放在高等级;后 台管理目录、目录泄漏可以为攻击者入侵提供有价值信息 的弱点为中等级;需要攻击者去判断信息是否有价值的弱 点、需要配合其他弱点共同利用的弱点和对应用系统危害 很低的弱点归为低等级。 WebRavor能够自动从SQL注入点获取数据库的名 称和连接用户名,为弱点的存在提供直接的证据,使用起 来很方便。 “服务端信任跨越弱点”被攻击者用于钓鱼。 3.中等级弱点: “后台管理目录”、“登录页面”可以被攻击者利用,“目 录泄漏”、“备份页面”、“路径跨越”需要对弱点的价值进行 验证。 3.3 SQL注入能力 4个网站的注入点说明:(见表4) 综合网站的注入点为9个,MSSQL数据库,数据库名 称:sa}连接的用户:sa。 表3 产品 WebRavor 3.2.3.2弱点分析 1.危急弱点: ~\、\ 测试站点、、\ 危急 目 由 SQL注入7个,合计7个 跨站7个.合计7个; 登录页面1个,备份页面1个 SQL错误 testphp.acunetix com 7/7=1 00%。 7/7=1 00%。 信息3个,物理路径泄漏3个,合计8个: 8/8=1 00%。 跨站4个.存在弱密码 目录泄漏1个,合计1个;1/1=1O0%。 demo testfire.net 或者可以被绕过1个. 合计5个:5/5=100%。 TOMCAT管理端弱密码1 弱密码或者可以被绕过 默认目录2个.登录页面2个,目录泄漏 demo.webravor com 个,SQL注入3个,合计4个; 1个,跨站1个,合计2 11个.合计1 5个 1 5/1 5=1O0%。 4/4=1 00%。 个;2/2=1OCI%。 i l WWW target com Access数据库文件2个, EWebEditor数据库文件 测试页面1个,发现后台管理目录1个 web允许写1个,sql注 1个,EWebEditor缺陷1 登陆页面4个.目录泄漏27个.备份页面 入9个,合12/1 2:100% 计1 2个: 个.跨站弱点9个,服务 1个,路径跨越1个,SQL错误信息泄漏1 端信任跨越弱点1个. 个,合计36个;36/36=100%。 合计12个。 ・126・2010.08・信息安全与技术 delno.tesim.fnet的注入点是演示程序,应用程序未过滤 字符,但是不能获取数据库信J息,因此该站的注^点计为0。 表4 At: ̄Scan的准确率很低,并且拥有很高的漏报。A卯sa∞ 的注入依然只是检测应用系统是否过滤了用户的输入,虽然新 增的“发现数据库错误模式”策略和“SQL注入文件写入” testphp.acunetix.corn注入点 http://testphp.acunetix.com:80/ AJAX/infoartist.php 7id=l 数据库 数据库 名称 用户名 策略可以辅助sQL注入的验证,但是仍然无法通过SQL 注入弱点获取数据库信息,不能避免SQL注人的高误报 率。无法发现Cool,de编码的SQL注入。 wVS发现的注入统计: http://testphp acunet‘lx.com:8O/ 11 AJAX/infocateg.php?id=1 ■ 总数 数 准确率 漏报率 7 3 testphp.acunetix.com 7 demo.testfire.net O 100% 0 O O http://testphp.acunet ̄x.com:80/ AJAX/infotitle.php POST id demo.webravor.com 3 综合网站 9 acuart@ localhost MYSQL acuart 3 100% O 1 1 1.1% 88.9% http://testphp.acunetlX.com:8O/ product.php?pic=1 wVS虽然也没有获取数据库信息的策略,从前三行 的结果上看,发现SQL注入点的能力上还是比Ap ̄Scan 占上风,但是由于自身不能获取数据库信息,sQL注入 弱点需要人工去验证,而且测试环境不能够完全模拟真 实的环境,所以wV_s在对综合网站的测试过程中,准确 性就降低了。无法发现Cookie编码的SQL注入。 http://testphp.acunet’lx.com:8O/ Iistproducts.php?cat=1 http://testphp.acunet lx.com:80/ Iistproducts php?artist=1 http://testphp acunetIX.com:80/ artists php?artist=1 WebRavor发现的注入统计: demo.testfire net注入点 http://demo.testfi re net/bank/ Iogin.aspx POST uid N/A N/A N/A 总数 个数 准确率 漏报率 testphp.acunetix.com 7 7 100% O demo.testfire.net O demo.webravor.com 3 综合网站 9 O 1O0% 3 1o0% 9 100% O O O http://demo.testfi re.net/bank/ Iogin.aspx POST passw demo.webravor.com注入点 http://demo.webravor.corn:80/ WebRavor对检测SQL注入方法的设计非常强悍, 能够自动获取数据库信息用于验证SQL注入的存在。 不仅在测试环境中变现突出,在现实环境的表现 也不错。对WebRavor未能获取数据库信息的SQL 注入点,工具也会自动将弱点归为“可疑”类别供工程 ORACLE yorcale SC0TT news/O80a.jsp 7id=1 http://demo webravor.corn:80/ web/userindex jsp POST username 师手动验证。 http://demo.webravor com:80/ 3.4策略分析 三款软件的策略都围绕自己的设计理念进行,在 它们的策略中也有一些策略是相同的或相近的,如下 表5所示: SQL注入、XSS是OWASP的TOPIO里的前两位,应 用系统扫描工具都具有判断这两个漏洞的功能。 目录泄漏:有可能导致敏感文件的泄漏,如一个目录 中包含了用户的账号信息的页面,则可以通过该目录直接 查看到用户信息的页面。 信息安全与技术-2010.08・127・ web/userindex.jsp POST password AppSacn发现的注入统计: 总数 个数 准确率 漏报率 testphp.acunetix.corn 7 3 42.9% 57.1% demo.testfire.net O 2 0 O demo.webravor.corn 3 综合网站 9 O O 100% 1 1 1 1% 88.9% Web允许写操作:直接向目录中写入文件。 人工验证的大量参与。WebRavor不仅提供了SQL注入的 路径跨越:执行硬盘上的文件。 验证,而且对返回包的数据自动进行筛选。 从测试的综合 URL重定向被利用:用于钓鱼。 能力上分析,WebRavor最强,wVs其次,AppScan最后。 敏感目录:用于暴力破解,或者通过注入获得的信息 四.测试总结 通过管理员页面登录应用系统。 AppScan、WVS、WebRavor是目前商业市场上最著 这些策略都是直接可以被攻击者利用或者直接给攻击 名的三款Web应用安全扫描工具,其检测漏洞的能力也在 者提供参考价值。 伯仲之间。 在这三款软件中,WebRavor能够很好的发现利用价 经过对三款软件的测试,可以对产品发现弱点的能力 值较高的弱点,并且可以对这些弱点进行关联分析。比如 上有了非常细致的了解。当然这只是基于4个网站的测试, 发现SQL注入点,可以通过SQL注入点获取数据库的信 从测试的设计开始难免会有遗漏或设计不周的地方,比如 息,同时又发现敏感的登录页面,这两个弱点进行关联,就 我没有在测试的时候使用监控软件来查看每个软件占用 可以证明该应用系统存在很大的风险。 资源等等对软件性能的测试的比较,只是对软件的功能进 AppScan和wVS,只是对罗列的策略进行检测。 行比较,对发现的弱点以及这些弱点的策略进行了比较。 AppScan虽然根据攻击者的攻击方式将策略重新划分,但 通过对三款软件的功能和检测漏洞能力上的分析可以 是总有画蛇添足的嫌疑。如一个参数存在跨站脚本弱点, 发现,综合能力上WebRavor占有一定的优势,优点突出; AppScan会把<script>替换成<jframe>,并重新起名为 AppScan和wVS的综合能力稍微弱一些。wVs发现 “通过框架钓鱼”,图片跨站脚本弱点重新起名为“链接弱 sQL注入的能力上比AppScan强一些。 点”,弱点看起来很多,有危害的没几个。 总结看来,SecDomain WebRavor不愧为小榕团队作 wVs大量的提示信息、错误信息提示,需要有经验的渗 品,秉承了简单易用的血统,并且能将各种情况考虑的比 透工程师将其汇总、验证才能判断出应用系统是否存在风险。 较细致,可惜知者甚少,用者更少,若有当年刀、光、雪、影 3.5测试能力分析 之普及,何愁不复当年之勇矣。IBM Rational AppScan 在三款软件扫描的时间上,wVS耗时最长,AppScan 作为大厂商产品,可以说力求做得面面俱到,但如果遇到 其次,WebRavor最短。 复杂情况恐怕难堪重任。Acunetix web Vulnerability AppScan和WVS由于设计理念所限,依然存在很高的 Scanner作为一个非常有实力的厂商,思路非常明确,理念 误报,在对返回包数据的挖掘能力上,自动化程度不够,需要 也很好,不过仍有不少可提高之处。 表5 \ 盘口 \\ J口口 AppScan WVS WebRavor 通用名、、\ SOL注入 SQL injection SQL注入。 SQL注入 SOL注入文件写入 引ind SOL/XPath injection BIind SQL injection ctiming) XSS 跨站点脚本编制 Cross Site Scripting 跨站脚本弱点。 链接注入 目录列表 Directory iisting found 目录泄漏。 目录泄漏 PossibIe sensitive directories WEB允许写操作 HTTP PLIT方法站点篡改 目录具有写权限 Web允许写操作。 路径跨越 Windows文件参数变更 Directory traversal(Windows) 路径跨越 URL重定向被利用 通过URL重定向钓鱼 URL redirection 服务端信任跨越弱点。 敏感目录(页面) 直接访问管理页面 Possible sensitiMe directories 发现后台冒理目录,登录贝曲。 ・128・2010.08・信息安全与技术