支持的技术

了解站点使用的哪些技术可能影响 AppScan 扫描站点的能力以及哪些技术完全不会影响扫描,这点非常重要。

  • AppScan 是一种“黑盒”(DAST) 工具,并使用与浏览器相同的机制来扫描站点。因此,对于浏览器透明的服务器端技术对于 AppScan 也透明,但不会影响扫描。
  • 客户机端技术(如 JavaScript 和 HTTP 协议)本身的确会影响 AppScan。与浏览器不同,AppScan 需要在运行自动爬行、会话维护和测试的级别了解这些技术。在这些情况下,需要配置 AppScan 以能够正确的扫描。

AppScan 扫描包含两个主要阶段:探索和测试。对于每个阶段,下表提供了用于了解哪些服务器端和客户机端技术可能影响扫描而且在哪些情况下需要配置的准则。

1. 支持的技术
服务器端技术 客户机端技术
探索阶段

任何不影响客户机的服务器端技术(如使用的特定数据库)不会以任何方式影响扫描。

如果 AppScan 配置正确,那么影响客户机的很多机制(例如会话管理)将不会限制扫描。例如,Web 服务器和应用程序服务器影响管理会话标识的方式,AppScan 必须能够跟踪这些标识。很多常用会话标识是预定义的,或者可由 AppScan 自动检测,而且不需要额外的配置。但,对于某些定制机制,仍可能需要额外的配置。

AppScan 特别支持 WebSphere Portal 定制 URL。WebSphere Portal 对 URL 编码,这使得以 URL 所显示的方式来对它们进行跟踪就比较困难。AppScan 会解码这些 URL,以理解这些 URL 并对其进行调优。

仅对 Java 和 .NET 支持 glass box 扫描。

当今使用的两项主要客户机端技术是 HTML5 和 JavaScript,这两项技术都会影响扫描的探索阶段:

AppScan 在探索阶段支持 HTML。这表示链接可以抽取,表单可以理解和填写等等。

AppScan 支持(执行)纯 JavaScript。支持多个主要框架,包括 JQuery、AngularJS 和 PrototypeJS。但其他很多 JS 框架不受支持,不会以任何方式影响扫描。

如果自动探索阶段因特定技术丢失页面,可以在自动探索之后,测试阶段之前,通过手动探索站点将这些页面添加到扫描。

测试阶段 AppScan 旨在测试应用程序而不是其支持技术;它们不影响测试。再次考虑数据库:AppScan 的 SQL 注入测试套件与所用的数据库无关。它也会影响第三方测试(“场景漏洞”测试)的特定测试。

仅在 JavaScript 代码上执行客户机端测试。当前,仅检测纯 JS 漏洞。

不支持 JS 框架;使用框架的 JS 代码可能无法正确地分析。

完全支持 HTML5。