对一个综合性的大型网站来讲,可能存在成千上万的页面。以登陆界面为例,至少要输入用户名和密码,即该页面存在两个字段,当提交了用户名和密码等登陆信息,网站须要检查是否正确,这就可能存在一个新的检查页面。这里的每一个页面的每一个参数均可能存在安全漏洞,可能成为被攻击对象。AppScan正是经过按照设定策略和规则,对Web应用进行安全攻击,以此来检查网站是否存在安全漏洞。数据库
在使用AppScan的时候,经过配置网站的URL网址,AppScan会利用“探索”技术去发现这个网站存在多少个目录,多少个页面,页面中有哪些参数等,即探索出网站的总体结构。经过“探索”可肯定测试的目标和范围,而后利用AppScan的扫描规则库,针对发现的每一个页面的每一个参数,进行安全检查。浏览器
简言之,APPScan的工做原理以下:安全
1)经过“探索”功能,利用HTTP Request和Response的内容,爬行出指定网站的整个Web应用结构服务器
2)AppScan自己有一个内置的漏洞扫描的规则库,可随版本进行更新。从探索出的url中,修改参数or目录名等方式,构造不一样的url对照组向服务器发送请求or攻击工具
3)根据HTTP Response返回的内容,和正常请求所返回的响应做对比,是否产生差别性,而这种差别性又是否符合扫描规则库的设定规则,以此来判断是否存在不一样类型的安全漏洞性能
4)若APPScan可判断存在安全漏洞,则对这些漏洞的威胁风险给出说明,进行严重程度提示,并给出修复的建议和方法,以及漏洞发现的位置提示测试
1.打开AppScan网站
2.文件-->新建-->建立新的扫描,如:常规扫描url
3.进入配置向导页面,选择Web应用程序扫描,点击“下一步”spa
PS:若须要使用Web Service扫描功能,须要提早下载安装好GSC Web Services记录器
4.进入扫描配置向导页面,URL输入框的地址即为被测网址or其IP地址,如输入如下被测url,点击“下一步”
PS:1)能够打开AppScan内置浏览器查看被测连接是否能正常访问;2)如下被测网址为某个专门测试用的漏洞网站,很是规使用的网站
5.登陆方法:根据实际须要选择(如:自动),用户名和密码即为被测网站的登陆帐户,点击“下一步”
PS:1)若登陆方法选择“记录”,则可经过界面右侧的“记录(R)”按钮打开APPScan内置浏览器并输入登陆信息,关闭内置浏览器后,AppScan便可记录该用户名和密码,扫描的时候至关因而已登陆此帐户的状态进行扫描;2)若选择“提示”,则根据网站扫描探索过程当中须要登陆会提示输入登陆信息,人工输入正确的帐号信息以后继续扫描;3)若选择“无”,则不需输入登陆帐户
6.选择适当的操做策略(通常保持默认选择,即“缺省值”),点击“下一步”
7.设置启动模式,根据实际须要选择(如:仅使用自动“探索”启动),点击“完成”,便可开始启动扫描or测试
PS:1)全面自动扫描:探索的同时,也进行攻击测试;2)仅自动“探索”:自动探索网站的目录结构,可被测的连接范围及数目,不做实际攻击测试;3)手动探索:先经过AppScan内置浏览器打开被测网站,手动点击不一样的目录页面,而后AppScan记录之;4)稍后启动扫描:先把这次网站的扫描配置进行保存,后续若想扫描的时候再继续操做。
8.保存配置:好比点击“是”,将这次配置命名保存到指定文件夹下
9.待步骤8保存配置以后,即会自动跳转到扫描网站的界面开始扫描,通常扫描时间根据测试范围和策略有关,这里能够看到扫描进度
PS:扫描过程当中,若扫描时间较长,可自动让其扫描,或者点击“暂停”-保存本次扫描,而后下次继续未扫描的过程;若直接点击右上角“×”关闭AppScan,则不会保存本次扫描的过程
10.扫描完成以后,可查看扫描的结果以下所示
11.点击“扫描”-“仅测试”,开始启动对这次探索结果的攻击测试
根据扫描测试过程当中的APPScan工做状况,是否有扫描出安全漏洞,是否在扫描过程当中进度受阻而不能继续扫描,是否覆盖到设定的url范围,对同一模块可重复扫描作对比,调整得到适合本身环境的配置
12.测试完成以后,保存本次AppScan扫描测试的结果;从统计出的安全性问题,能够查看对应的漏洞连接、请求和响应、修复建议
13.点击“报告”,建立不一样要求的安全报告
【1】AppScan扫描过程当中,会向服务器发送较多请求,会占用必定的正常请求访问的资源,可能致使一些垃圾数据,建议只在本地测试环境执行
【2】使用AppScan以前,请提早备份好数据库的数据,倘若扫描导致服务器异常关闭,则需重启服务;若扫描产生的请求数据过多,或Web程序出现异常,可能须要从备份数据恢复还原。通常状况下,正常扫描Web程序不多可能出现Web服务异常的情形
【3】AppScan扫描配置时,有区分为Web Application(Web应用程序)和Web Service(Web服务)的扫描方向。若只对Web程序自己的漏洞检测,就选Web Application扫描便可;若选择Web Service扫描,则需提早告知服务器维护的负责人,创建异常状况发生的处理机制,最好避开访问请求的高峰or办公人员集中使用的时间,好比下班后自动扫描
【4】AppScan扫描的结果并不表明彻底真实的状况,受限于所用扫描器版本的漏洞规则库的规则,以及操做者的配置策略,扫描过程当中有可能会使得扫描器出现误判or漏测。若有必要,还需对扫描的结果进行人工校验,可对同一Web应用分次进行扫描对比差别性
【5】扫描配置时,通常按照默认的测试策略-WASC威胁分类便可;若服务器自己所能承受的性能压力不强,or存在较多漏洞的时候,不宜选择“侵入式”策略,该策略存在着可能会入侵服务器、关闭服务、破坏数据库等风险
【6】使用破解版的AppScan扫描Web应用时,若Web网站自己结构比较复杂、模块众多、涉及的url数目巨大(几万-十多万),则不宜一次性全站扫描,有可能连续扫描几个小时都不能探索完网站的全部结构。持续时间过长还可能形成AppScan出现卡顿,显示“正在扫描中”,但实际上已经没有继续再扫描。所以,当第一次探索了大概的网站结构和容量以后,若容量巨大,最好分而治之,按模块结构分次进行扫描测试
【7】结果分析(Analysis)
在APPScan扫描结果基础上,根据不一样的严重级别进行排序、手工+工具验证的方式对漏洞验证可靠性,排除误报的状况,并尽量找出漏报的状况,把本次扫描结果汇总,对以上已验证存在的安全漏洞排列优先级、漏洞威胁程度,并提出每一个漏洞的修复建议
而后,再把这次安全漏洞整理的报告提交给项目负责人,由负责人决定哪些漏洞转给开发工程师修复,然后再由安全测试工程师进行回归验证修复的情况