“探索选项”视图

定义 AppScan 将用于探索应用程序的探索方法(基于操作和/或基于请求)以及其他基本和高级探索设置。

探索方法
AppScan 将两种不同的方法用于扫描的“探索”阶段。可选择任一方法,或选择两种方法。在这两种方法中,“基于请求的探索”通常比“基于操作的探索”的速度更快。同时选择两种方法时(这是缺省和建议的选择),“基于操作的探索”首先运行(有 30 分钟的时间限制),然后运行“基于请求的探索”。
页面结构 (DOM) 过滤
可通过识别与已扫描页面非常类似的页面(这些页面可被忽略)来极大地减少扫描时间。
扫描限制
确定 AppScan 探索应用程序的深度(或速度)。
高级设置
  • 其他探索设置:用于配置客户机,以识别特定服务器编码和发送特定用户代理程序头。
  • 基于操作:特定于此方法的设置。
  • 基于请求:特定于此方法的设置。

设置

详细信息

探索方法

基于操作

Google Chrome 浏览器用于扫描站点,例如单击浏览器中可见的链接,正如用户的操作一般。在使用了 JavaScript 和会话存储等技术的情况下以及对于 RIA、单页面应用程序 (SPA) 或 AngularJS 等站点,该方法特别有效。

基于请求

请求将根据 AppScan 发现的所有页面内容来发送。这包含了对使用浏览器的用户不可见的内容,例如注释中的链接,而攻击者可找到这些内容。

页面结构过滤

基于结构 (DOM) 过滤类似页面

AppScan® 将新页面与已扫描的页面进行比较以发现结构 (DOM) 相似性,这指示新页面不包含需要其他测试的新链接或内容。例如,在商业站点上,可能存在包含上千个不同项的各个页面的目录,而这些项在其他所有方面都是相同的。通常不需要扫描所有这些页面。基于 DOM 相似性过滤可极大地减少扫描时间。

缺省情况下,两个复选框均已选中。扫描之后,应检查扫描结果的“已扫描”选项卡以查看是否有某些独特的请求被错误地从扫描过滤出去。如果发生该情况,应尝试“过滤更少页面”选项(这将维护稳定、低级别的过滤),或一起禁用 DOM 过滤。

在结果的“已过滤”选项卡中将找到三种类型的已过滤项:
  • 类似 DOM:这指示因其结构 (DOM) 从扫描过滤掉的页面类似于先前已探索的页面,并因此可能不包含要测试的新元素。
  • 可能类似的 DOM:这指示完全未发送的请求,因为 AppScan 估计响应将具有与先前探索的页面相同的结构 (DOM),而且将不包含要测试的新元素。
  • 类似主体:这指示从扫描中过滤掉的请求(来自由于 DOM 类似而被过滤掉的页面),因为其响应主体类似于先前探索的请求的响应主体。
扫描之后,应检查扫描结果的“已扫描”选项卡以查看是否有某些独特的请求被错误地从扫描过滤出去。如果发生该情况,应清除“过滤可能重复的页面”选项(下一个选项),或通过清除该复选框一起禁用 DOM 过滤。

根据结构 (DOM) 过滤可能类似的页面

该设置将从扫描过滤“可能类似的 DOM”页面。如果独特的请求被错误地从扫描中过滤掉,因清除该复选框。

扫描限制

冗余路径限制

AppScan® 将不访问多于指定次数的相同路径。

如果特定路径出现不同参数,那么可多次访问特定路径。此限制主要与脚本相关。缺省情况下将取消选择该项,因为在大多数情况下,选择上面的复选框根据结构 (DOM) 过滤重复页面将足以控制扫描时间。

单击深度限制

AppScan® 对于需要单击超过指定链接数才能访问的页面,不会对其进行扫描。

总页面限制

如果选中,那么 AppScan® 将不会访问多于定义的最大页面数。请注意,在每个页面上可能会探索许多 URL。

高级选项

本部分包括以下三个部分:
  • 其他探索设置
  • 基于操作:仅影响基于操作的探索的设置
  • 基于请求:仅影响基于请求的探索的设置

其他探索设置

这些高级设置同时适用于基于操作的探索和基于请求的探索。

设置

详细信息

编码

AppScan® 通常会自动检测应用程序的编码方法,因此缺省情况下会选中自动检测

如果扫描结果中的响应内容似乎失真,那么这可能意味着未正确识别编码方法。要解决此问题,请从下拉列表中选择正确的编码方法。

用户代理程序

HTTP 请求中的“用户代理程序”头通知服务器发送请求的是什么类型的客户机,这可能会影响服务器返回的内容。例如,有些内容可能是特定于移动电话的,仅当用户代理程序是移动电话浏览器时才会发送。为了使 AppScan® 可以测试这些内容,您需要对其进行配置以发送适当的“用户代理程序”头。

AppScan® 通常会自动检测用户代理程序,因此缺省情况下会选中自动检测。但是,如果您使用的浏览器不是内置浏览器,且不记录登录过程、多步骤操作或手动探索,AppScan® 将无法自动检测用户代理程序,因此您必须手动选择用户代理程序。

要更改用户代理程序,请从下拉列表中选择代理程序。

要输入定制内容,请单击编辑按钮并输入内容。关闭对话框后,按钮的名称将变为定制用户代理程序

注意:如果您更改缺省浏览器,请参阅更改缺省浏览器中列出的条件

基于操作

仅当在此对话框顶部选中了“基于操作”复选框时,此部分才处于活动状态。
设置 详细信息
探索超时(分钟) 站点的“基于操作的探索”的缺省时间限制是 30 分钟,超过此时间后,“探索”阶段将停止,即使尚未充分覆盖站点。

如果 AppScan 此时错过站点的重要部分,您可以增加此超时。

调用页面上的操作之前的最短等待时间(毫秒) AppScan 尝试在开始探索之前识别页面是否已完全装入。
如果在此处添加等待时间,AppScan 始终会使用设置作为最短等待时间(即便检测到页面已装入),但如果检测到页面装入,其等待时间将超过此时间。
提示: 如果在查看探索数据时,看到 AppScan 未能在页面上执行所有可能的操作,这可能指示其动态等待时间过短。如果您启用浏览器,还可以在扫描期间看到此内容:
  1. 转至工具 > 选项> 高级
  2. 找到 SessionManagement:ShowActionBasedPlayerWindow,并将其设置更改为 True
  3. 运行扫描。浏览器将在扫描过程中打开,您可以在 AppScan 探索您的站点时查看。如果您注意到它会在当前页面完全装入之前继续跳转到新页面,则增加等待时间可以解决此问题。
注: 更改此设置可能会影响探索时间,因此您可能还需要考虑增加探索超时(如上所述)。
动态页面
自动检测动态页面装入 缺省情况下,AppScan 主动检测动态页面内容并将其视为动态页面。在极少数情况下,这可能会导致页面无法正确装入,从而影响扫描覆盖率。
提示: 要识别此问题,请执行以下操作:
  1. 转至工具 > 选项> 高级
  2. 找到 SessionManagement:ShowActionBasedPlayerWindow,并将其设置更改为 True
  3. 运行扫描。浏览器将在扫描过程中打开,您可以在 AppScan 探索您的站点时查看。如果您注意到在常规浏览器中成功装入的页面在扫描期间没有正确装入,则清除此复选框可以解决此问题。
过滤器
跳过相同 DOM 元素上的操作 AppScan 根据各种条件识别它已经在前一页上执行过的操作。如果您的站点包含不同的操作,且由于 DOM 元素,这些操作看起来可能是相同的,则 AppScan 可能会错误地忽略这些操作。如果发生这种情况,请清除此复选框。
注: 在决定忽略未来的迭代之前,实际上AppScan 重复几次相同的操作,以确保它们确实相同。
使用机器学习分析并跳过冗余操作 AppScan 使用机器学习改善探索阶段效率。AppScan 可针对可能会指向站点中已探索过的部分的操作予以预测和避免。

如果您的站点包含许多页面,而它们唯一的区别就是内容,则此功能可以在指定的探索超时内极大地增加站点覆盖率。具体的获益情况视站点而定。

要跳过的操作 这是 AppScan 要忽略的操作的列表,因为这些操作可能会对扫描甚至应用程序产生不利影响。要跳过的操作是根据操作的 DOM 元素的 Idnameng-model 属性确定的。如果 DOM 元素属性的 Idnameng-model 包含列表中的一个单词,则将从扫描中过滤掉。

您可以在此列表中添加、编辑和删除项目。

基于请求

仅当在此对话框顶部选中了“基于请求”复选框时,此部分才处于活动状态。
  • JavaScript 选项决定了 AppScan 应忽略还是扫描这些脚本。
  • 探索方式决定了继续下一页面之前 AppScan® 是探索页面上的所有链接,还是探索它所找到的每个新链接。
  • WebSphere Portal 用于配置客户机,以识别特定服务器编码和发送特定“用户代理程序”头。
设置 详细信息
JavaScript
解析 JavaScript 代码以发现 URL AppScan®JavaScript 代码解析为文本数据以收集链接。
探索方式
广度优先 (缺省情况下)AppScan® 逐页探索,在继续下一页面前探索一个页面上的所有链接。

如果应用程序限制中没有要求用户按特定顺序访问链接,那么建议不要更改缺省选中的此选项(宽度优先)。

深度优先 AppScan® 按照链接逐一探索,并在找到新链接时对每个新链接进行探索。

如果您将“探索方法”更改为深度优先,那么您必须将 AppScan® 也更改为探索期间仅使用一个线程(位于“配置 > 通信和代理”视图中)。

WebSphere® 门户网站

Enable WebSphere® 门户网站扫描

如果站点是 WebSphere® Portal 站点,那么 AppScan® 将需要从站点获取能更有效进行扫描的 URL 解码信息,以及构建有用的应用程序树。要启用解码,选择启用 WebSphere Portal 扫描

如果上下文根 URL 不遵循缺省格式,单击添加上下文根 URL 以添加一个或多个上下文根 URL。
提示: 如果不确定门户网站上下文根 URL 是什么:
  1. 在安装 WebSphere Portal 的计算机上,打开位于 wp_profile_root/ConfigEngine/properties 目录的 wkplc.properties 文件。
  2. 上下文根值由 WpsContextRoot 属性指定。
提示: 扫描 WebSphere® Portal 站点时,建议使用针对此目的配置的预定义 WebSphere® Portal 扫描模板。