AppScan工作原理
简言之,APPScan的工作原理如下:
1)通过“探索”功能,利用HTTP Request和Response的内容,爬行出指定网站的整个Web应用结构
2)AppScan本身有一个内置的漏洞扫描的规则库,可随版本进行更新。从探索出的url中,修改参数or目录名等方式,构造不同的url对照组向服务器发送请求or攻击
3)根据HTTP Response返回的内容,和正常请求所返回的响应作对比,是否产生差异性,而这种差异性又是否符合扫描规则库的设定规则,以此来判断是否存在不同类型的安全漏洞
4)若APPScan可判断存在安全漏洞,则对这些漏洞的威胁风险给出说明,进行严重程度提示,并给出修复的建议和方法,以及漏洞发现的位置提示
“AppScan 全面扫描”包含两个阶段:探索和测试。尽管扫描过程的绝大部分对于用户来说实际上是无缝的,并且直到扫描完成几乎不需要用户输入,但理解其后的原则仍然很有帮助。
探索阶段 Explore原理: 告诉Appscan网站的入口地址,然后它“顺藤摸瓜”,找出其他的网页和页面参数? Explore本质也算是一种“爬虫”技术,具体说,是“网站爬虫”,其利用了网页的请求都是用 http 协议发送的,发送和返回的内容都是统一的语言 HTML,Appscan对 HTML 语言进行分析,找到里面的参数和链接,纪录并继续发送之,最终,找到了这个网站的众多的页面和目录,并记录下来,整个这一套过程在AppScan里就叫做:Explore
在第一个阶段中,AppScan 通过模拟 Web 用户单击链接和填写表单字段来探索站点(Web 应用程序或 Web Service)。这就是“探索”阶段。
AppScan 将分析它所发送的每个请求的响应,查找潜在漏洞的任何指示信息。AppScan® 接收到可能指示有安全漏洞的响应时,它将自动基于响应创建测试,并通知所需验证规则,同时考虑在确定哪些结果构成漏洞以及所涉及到安全风险的级别时所需的验证规则。
在发送所创建的特定于站点的测试之前,AppScan 将向应用程序发送若干格式不正确的请求,以确定其生成错误响应的方式。之后,此信息将用于增加 AppScan 的自动测试验证过程的精确性。
测试阶段
在第二个阶段,AppScan 将发送它在探索阶段创建的数千个定制测试请求。它使用定制验证规则记录和分析应用程序对每个测试的响应。这些规则既可识别应用程序内的安全问题,又可排列其安全风险级别。
扫描阶段
在实践中,“测试”阶段会频繁显示站点内的新链接和更多潜在安全风险。因此,完成探索和测试的第一个“过程”之后,AppScan 将自动开始第二个“过程”,以处理新的信息。如果在第二个过程中发现了新链接,那么会运行第三个过程,依此类推。
完成配置的扫描阶段数(可由用户配置;缺省情况下为四个阶段)之后,扫描将停止,并且完整的结果可供用户使用。