IBM Rational Appscan使用之扫描结果分析
之前有
IBM
Rational Appscan使用详细说明的一篇
文章,主要是针对扫描过程中配置设置等.本文将介绍针对扫描结果的分析,也是一次完整的渗透
测试必须经历的环节.
扫描开始的时候,Appscan会询问是否保存扫描结果,同时下方有进度条显示扫描的进度.
在扫描过程中,如果遇到任何连接问题或其他任何问题,可以暂停扫描并在稍后继续进行.如第一篇文章中讲的扫描包括两个阶段-探索、测试.Appscan种的Scan Expert和HP WebInspect中的建议选项卡类似,Scan Expert分析扫描的配置,然后针对变化给出配置建议,目的是为了更好的执行一次扫描.可以选择忽略或者执行这些建议.
Appscan的窗口大概分三个模块,Application Links(应用链接), Security Issues(安全问题), and Analysis(分析),如下图所示:
Application Links Pane(应用程序结构)
这一块主要显示网站的层次结构,基于URL和基于内容形式的文件夹和文件等都会在这里显示,在旁边的括号里显示的数字代表存在的漏洞或者安全问题.通过右键单击文件夹或者URL可以选择是否忽略扫描此节点.Dashboard窗格会根据漏洞严重程序,高中低列出网站存在的问题情况,因此Dashboard将反映一个应用程序的整体实力。
Security Issues Pane(安全问题)
这个窗格主要显示应用程序中存在的漏洞的详细信息.针对没一个漏洞,列出了具体的参数.通过展开树形结构可以看到一个特定漏洞的具体情况,如下所示:
根据扫描的配置,Appscan会针对各种诸如
SQL注入的关键问题,以及像邮件地址模式发现等低危害的漏洞进行扫描并标识出来.因为扫描策略选择了默认,Appscan会展示出各种问题的扫描情况.右键单击某个特定的漏洞可以改变漏洞的的严重等级为非脆弱,甚至可以删除.
Analysis Pane(分析)
选择Security Issues窗格中的一个特定漏洞或者安全问题,会在Analysis窗格中看到针对此漏洞或者安全问题的四个方面:Issue information(问题信息), Advisory(咨询), Fix Recommendation(修复建议), Request/Response(请求/相应).
Issue information(安全问题信息)
Issue information 标签下给出了选定的漏洞的详细信息,显示具体的URL和与之相关的安全风险。通过这个可以让安全分析师需要做什么,以及确认它是一个有效的发现。
Advisory(咨询)
在此选项卡,你可以找到问题的技术说明,受影响的产品,以及参考链接。
Fix Recommendation(修复建议)
本节中会提到解决一个特定问题所需要的步骤.
Request/Response(请求/响应)
此标签显示发送给应用程序测试相关反应的具体请求的细节.在一个单一的测试过程中,根据安全问题的严重性会不止发送一个请求.例如,检查SQL盲注漏洞,首先AppScan中发送一个正常的请求,并记录响应。然后发送一个SQL注入参数,然后再记录响应.同时发送另外一个请求,来判断条件,根据回显的不同,判断是否存在脆弱性漏洞。在此选项卡,有以下一些标签.如图:
Show in Browser(在浏览器显示),让你在浏览器看到相关请求的反应,比如在浏览器查看跨站脚本漏洞.实际上会出现警从Appscan发出的弹窗信息.
Report False Positive(报告误报),如果发现误报,可以通过此标签发送给Appscan团队.
Manual
Test(手动测试),单击此项之后会打开一个新的窗口,允许您修改请求并发送来观察响应.这个功能类似Burp Suite中的"repeate"选项.
Delete Variant(变量删除),从结果中删除选中的变量.
Set as Non-vulnerable(非脆弱性设置),选取的变量将被视为非脆弱性.
Set as Error Page(设置为错误页面), 有时应用程序返回一个定制的错误页面,通过此选项可以设置错误页面,避免Appscan因为扫描响应为200而误报.
Understanding the Toolbar(了解工具栏)
Scan按钮,开始扫描探测,继续扫描探测.
Manual Explore(手动扫描)按钮可以用于如果只想扫描特定的URL或者网站的一部分,可以记录输入链接,然后点击"Continue with Full Scan(继续全面扫描)",Appscan就只会扫描手动扫描设置下的链接.
Scan Configuration(扫描配置) 按钮会打开配置向导.
通过点击report按钮,可以生成一份详细的扫描分析报告.
Scan Log(扫描日志)记录AppScan中进行的扫描的每一个动作。因此,使用此功能,您可以跟踪所有的活动。例如,扫描运行时,你可以查看此时AppScan中正在寻找什么。
Analyze JavaScript(分析Javascript)按钮执行的JavaScript分析,发现广泛的客户端的问题,如基于DOM的跨站脚本.
可以在View Application Data下查看其他各种结果。比如访问的网址,断开的链接,JavaScript,Cookies等.
以上是对Appscan中的工具功能进行简单的了解,继续进行结果分析,可能需要先解决高的严重性的漏洞或者安全问题.首先选择一个脆弱的网址或参数的分析,如下图所示:
在 分析( analysis)选项卡下会自动获得相关的强调细节,首先需要判断是否是一个脆弱性漏洞,或者是一个误报.这个判断完全取决与你的技术水平,如果确定是误报,可以右键进行删除.如果是正确的判断,可以继续分析下一个扫描结果,全部分析完成可以生成一个分析报告.
下面的一些提示将有对分析有所帮助:
Tips for Analysing(分析注意事项)
1.分析扫描结果的同时,如果发现不是你的应用程序有关的问题,可以点击右上角的Vulnerability-->State-->Noise.这个扫描将会完全从列表中删除此扫描结果.如果想显示,可以在View-->Show issues Marker as Noise(显示标记为杂讯的问题),将会显示带有删除线的灰色文本中的问题.
2.如果开发团队针对一个特定的漏洞进行了修复,不必要再次扫描整个应用程序,来进行重新测试该问题.只需要点击URL,选择"Retest the Issues Found",如果有发现新的问题,会自动添加到扫描结果中.
3.CVSS设置可以调整特定漏洞的严重性,想改变漏洞严重性,右键单击一个漏洞,Severity-->CVSS settings.
4.工具菜单中的"Manual Test(手动测试)"选项可以帮助进行手动发送攻击请求,而且可以保存当前扫描下的结果,编辑请求,发送后,点击"Save"保存当前的扫描测试.
5.Appscan扫描过程中会有很多测试,扫描结果中只显示发现的漏洞的测试,如果需要显示所有的测试(包括非脆弱的结果),需要选择Scan Configuration(扫描配置)-->Test 下的"Save Non-vulnerable Test Variant Information"选项.完成扫描之后可以在View-->Non-vulnerable Variants下查看到.
6.如果想扫描一个特定的URL或一个应用程序的特定部分,可以先针对整个应用程序进行探测而不进行测试.选择扫描配置向导下的"Start with Automatic Explore Only"选项.然后输入要扫描的网址,进行扫描.
7.当需要扫描一个正在使用的网站,有可能会导致服务瘫痪,需要确保开发团队有意识到这个后果.
8.Test Malware(恶意软件测试):这个会分析网站中的恶意的链接.可以选择Scan-->Test For Malware,如果有任何发现,也会被添加扫扫描结果中.
Generating Reports(生成报告)
在分析结束之后可以针对所有确定的结果进行生成报告.其中包括为了解决改问题需要遵循的补救措施的报告.报告是可以根据需求进行定制的,例如可以为不同的开发团队设置不同的模板.比如针对公司标志,封面页,报告标题等进行不同的定制。
在上图中,可以看到所有可选的参数.
Tools(工具)
本节介绍Tools中的Power Tools,该工具是为了更好的对结果进行分析.
Authentication Tester(认证测试)
帮助执行针对应用程序用户名和密码进行暴力猜解,结果取决于密码策略字典强大与否.
Connection Test(连接测试)
可以用来ping一个网站,仅此而已.
Encode/Decode(编码/解码)
分析扫描结果的同时,可能会遇到许多的地方需要进行编码和解码.
HTTP Request Editor(Http请求编辑器)
可以修改请求的值来测试应用程序针对请求返回的不同响应.
这篇文章是Rational Appscan使用中的一部分内容,重要的是牢记,工具值提供结(在某些情况下甚至都可能不提供你所有的结果),从安全分析师的观点,提升个人技术技能才是最重要的,从而可以判断发现的是否是误报还是真正存在漏洞.