支持的技术
帮助您了解站点使用的哪些技术可能会影响 AppScan 扫描站点的能力。
- AppScan 是一个“黑匣”(DAST) 工具,与浏览器使用相同的机制访问站点。因此,对于浏览器透明的服务器端技术对于 AppScan 也透明,但不会影响扫描。
- 客户机端技术(如 JavaScript 和 HTTP 协议)本身不影响 AppScan。与浏览器不同,AppScan 需要在允许自动搜寻、会话维护和课程测试级别理解这些技术。在以下情况下,您需要配置 AppScan 才能正确进行扫描。
AppScan 扫描包含两个主要阶段:探索和测试。针对每个阶段,下表提供了理解哪些服务器端和客户机端技术可能会影响扫描的准则以及需要配置的情况。
| 服务器端技术 | 客户机端技术 | |
|---|---|---|
| 探索阶段 | 任何不影响客户机的服务器端技术(如使用的特定数据库)不会以任何方式影响扫描。 只要 AppScan 配置正确,很多影响客户机的机制(如会化管理)都不会限制扫描。例如,Web 服务器和应用程序服务器影响管理会话标识的方式,AppScan 必须能够跟踪这些标识。很多常见会话标识已预定义或可以由 AppScan 自动检测,不需要其他配置。但是,某些定制机制可能仍需要其他配置。 AppScan 特别支持 WebSphere Portal 定制 URL。WSP 对 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。 |