“高级配置”视图

扫描配置对话框的高级配置选项卡用于更改会影响特定扫描的高级注册表设置(“扫描配置 > 高级配置”选项卡),并且应仅由有经验的 AppScan 用户使用,或者在支持团队的指导下对问题进行故障诊断时使用。

提示: 具有AppScan 普遍影响(而非针对某一特定扫描)的高级注册表设置不在此处,位于选项对话框的高级选项卡中(“工具 > 选项 > 高级”选项卡)。
注: 各设置都具有您在与支持团队讨论设置时可使用的标识。通过单击相关列标题,可按“名称”或“标识”对网格中的项进行排序。
注: 当其中的缺省设置是正则表达式时,将其全部删除将致使此设置被视为未定义(不再被视为包含所有内容的正则表达式)。

名称

描述

可能的用例

基于操作:

登录回放浏览器

在记录登录序列时,嵌入式 AppScan 浏览器始终用于进行基于操作的记录。但是,您可以配置扫描期间回放记录时 AppScan 使用的浏览器。选项为:
  • 0 = Internet Explorer(嵌入式版本)
  • 1 = Chromium
  • 2 = Chrome
  • 3 = Firefox

缺省值:0

测试阶段允许的浏览器实例数

设置扫描的“测试”阶段可以使用的浏览器实例数。

缺省值 = 5

如果您的站点密集使用客户机 JavaScript 代码,并且因此在扫描过程中 AppScan 冻结,请减少此数字。

内存消耗限制

如果 AppScan 内存使用量达到此阈值,AppScan 将尝试通过限制线程数来减少资源使用量。

缺省值 = 1000 MB

多步骤回放浏览器

在记录多步骤序列时,嵌入式 AppScan 浏览器始终用于进行基于操作的记录。但是,您可以配置扫描期间回放记录时 AppScan 使用的浏览器。选项为:
  • 1 = Chromium
  • 2 = Chrome
  • 3 = Firefox

缺省值:1

多步骤回放非交互超时

用于停止多步骤操作的回放的无交互超时(秒)。

缺省值:10

单次登录尝试的超时

AppScan 在强制浏览器关闭之前等待浏览器重放单次基于操作的登录尝试的时间(秒)。

缺省值:120

通信:

Accept-Language 请求头值

全部 HTTP 请求中为请求“Accept-Language 头”发送的字符串。

如果用户没有定义,AppScan 将使用本次扫描中用户首次打开浏览器以记录登录过程、多步骤操作或查看页面时,该浏览器发送的值。

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

缺省值:zh-CN

在“探索”阶段,由于 Internet Explorer 的头值,AppScan 可能会收到意外的响应。在这种情况下,您应检查在与站点交互时在 Accept-Language 头中应使用的值,并在此设置(或在 Internet Explorer)中对其进行定义。

定制标头

允许您定义要添加到 AppScan 向站点发送的所有请求中的定制头。

缺省值:空

如果您的站点期望特定头内容(例如,对于站点的访问通过特定客户机或浏览器插件进行),请在此处定义头。各头都必须前置定界符。头和值之间必须使用一个冒号和一个空格来分隔。

格式:定界符|头|冒号和一个空格|值

示例 1:
;Header: Value
(在此示例中,定界符为 ;
示例 2:
,Header1: Value1,Header2: Value2
(在此示例中,定界符为 ,

对每个表单操作都强制一个不带有参数的 HTTP 请求

在某些情况下,如果收到了不带参数的表单提交,则服务器端逻辑可能会具有不同的行为。

设置为 True 时,AppScan 将向每个表单都另外发送一个不带有参数的请求。这可能会导致返回定制错误页面,其中包含指向其他 WEB 页面和功能的链接。

缺省值:True

如果您在扫描期间查看流量时注意到,不带有参数的表单提交导致超时或使应用程序崩溃,那么可决定将该选项设置为 False。

GSC SSL 端口

此设置定义 SSL 通信的 GSC 中所使用的端口号。

缺省值:443

在通过 GSC 探索提供链接的情况下,AppScan 根据此端口号确定 HTTPS。如果您的应用程序对 SSL 通信使用其他端口,请在此定义。如果没有定义正确的 SSL 端口,AppScan® 会将所有测试作为 HTTP 发送。

在所有请求中都包含 AppScan 调试头

如果设置为 True,将在 AppScan 发送到站点的所有请求中添加一个 HTTP 头。头名称为“X-AppScan-Debug”,并且其值包含关于 AppScan 发送此特定请求的原因(探索、测试、登录回放和服务器停机检查等)的信息。

缺省值:False

将扫描配置为发送“X-AppScan-Debug”头对于在外部工具(如 Web 调试器、代理、分析器和嗅探器)中跟踪 AppScan 流量可能很有用。

注:某些站点可能会拒绝任何包含特殊头(如此头)的请求。

最大响应长度

AppScan 会截断长响应以避免内存消耗问题。此设置定义所允许的最大响应长度(以兆字节为单位)。过长的响应被视为错误。

缺省值:8

如果 AppScan 看起来缺少链接或不在会话中,并且已知应用程序发送的是长响应,那么增加最大响应长度可能会解决问题。

除去“Accept-Encoding”头

AppScan 并非支持所有编码,并且会除去其不支持的编码。如果启用了此设置,则 AppScan 将除去整个头,而不只是其不支持的编码。

缺省值:True

如果服务器拒绝 AppScan 的请求,返回意外响应,或者 AppScan 无法保持会话,那么应检查流量日志并将 AppScan 发送的请求与常用浏览器的请求进行比较。如果 Accept-Encoding 头在浏览器中有所不同或缺失,那么应启用此设置。

复用服务器连接

缺省情况下,AppScan 在使用后将关闭 TCP 连接,因为打开的连接和已保存的数据可能会影响扫描结果。

如果设置为 True,那么 AppScan 会在使用后将连接保持为打开状态,并且只要可能都会尝试复用打开的连接。

缺省值:False

如果 Web 服务器上存在网络资源耗尽错误,那么将该设置更改为 True 可能会解决问题。

安全性程序包顺序

AppScan 支持 Basic、Digest、NTML、Negotiate 和 Kerberos HTTP 认证。如果您想要强制 AppScan 使用或不使用特定方法,或者在站点/代理允许多种方法时应用一个针对方法选择的首选顺序,那么可编辑此值。

例如,如果您想要只允许 NTLM 和 Basic,且首选使用 NTLM(如果可用),则将此字符串编辑为: ntlm, basic

缺省值:basic, digest, ntlm, negotiate, kerberos

如果您的站点使用特定认证方法,并且 AppScan 拒绝访问,那么将必需方法定义为唯一方法可解决该问题。

如果您想要使用特定方法(例如 Basic 和 NTLM)来测试站点,那么可以将一个扫描配置为仅使用 Basic,而将另一个扫描配置为仅使用 NTLM。

斜杠规范化

通过将两个或多个连续斜杠替换为单个斜杠将 URL 规范化。

缺省值:True

如果站点 URL 使用连续斜杠,请停用此设置。

将错误响应视为有效

AppScan 对错误页面和常规页面以不同方式进行处理(例如,通过不解析错误页面的链接)。通过此设置,可以指示 AppScan 是仅对起始 URL 将错误页面视为常规页面,还是始终将错误页面视为常规页面。

设置为 0 时,AppScan 会将所有错误响应都视为无效。

设置为 1 时,AppScan 会将对起始 URL 的所有错误响应(4xx 和 5xx)视为有效。

当设置为 2 时,AppScan 会将所有错误响应都视为对常规页面和起始 URL 有效。

缺省值:0

如果您的起始 URL 响应位于错误页面中,请将该设置更改为 1。

如果您希望扫描从错误页面中抽取数据并进行测试,请将该设置更改为 2。

请注意,更改缺省设置可能会影响性能。

一般:

AppScan 浏览器脚本错误弹出禁止

基于操作的登录记录和回放,手动探索,多步骤记录以及在浏览器中显示期间,禁止 AppScan 内置浏览器中出现脚本错误弹出消息。

缺省值:False

如果不相关的错误弹出消息干扰了基于操作的登录记录和回放,您可以通过将此值设置为 True 来禁止这些弹出消息。请注意,同时将禁止其他弹出消息,如“HTTP 认证”错误和“安装 ActiveX 控件”提示。

合并冗余测试

如果设置为 True,那么 AppScan 针对两个(或多个)完全相同(附加的 cookie 除外)的请求仅会发送单组测试。如果设置为 False,那么将单独测试所有此类请求。

缺省值:True

将此设置更改为 False 可能会影响性能;请仅在支持人员的建议下执行此操作。

代理文件扩展名过滤器

正则表达式,定义要从在记录登录、手动探索或多步骤操作时保存的 URL 列表中除去的文件扩展名。如果从该正则表达式移除扩展名,以此扩展名结尾的 URL 将不会从记录中过滤掉。

缺省值:"\.(zip|Z|tar|t?gz|sit|cab|pdf|

ps|doc|ppt|xls|rtf|dot|mp(p|t|d|e|a|3|

4|ga)|m4p|mdb|csv|pp(s|a)|xl(w|a)|

dbf|slk|prn|dif|avi|mpe?g|mov(ie)?|

qt|moov|rmi?|as(f|x)|m1v|wm(v|f|

a)|wav|ra|au|aiff|midi?|m3u|gif|

jpe?g|bmp|png|tif?f|ico|pcx|css|

xml)$"

在极少数情况下,您可能需要在登录记录中包含特定类型的文件(如 CAPTCHA 图像文件)以供参考,此时,您可以从此正则表达式中除去其文件扩展名(在此例中,除去 jp?g)。

净化日志

从日志中除去敏感信息。

缺省值:False

如果需要从日志中除去敏感信息,请激活此选项并在“敏感信息模式”选项中定义要除去的模式。

请注意,更改此设置不影响已生成的日志。

清理报告

从报告中除去敏感信息。

缺省值:True

如果需要从报告中除去敏感信息,请激活此选项并在“敏感信息模式”选项中定义要除去的模式。

“扫描配置 > 自动表单填写”中定义的密码将从所有报告中排除,即使未定义模式也是如此。

请注意,更改此设置不影响已生成的报告。

通过 GSC 发送所有测试

AppScan 可使用 GSC 来发送针对 GSC 已发现的部分或所有链接的测试。

0 = 使用 GSC 来仅发送 SAOP 消息

1 = 使用 GSC 来发送针对 GSC 所发现的链接的所有测试

2 = 不使用 GSC 来发送任何测试

缺省值:0

如果在 GSC 中探索站点时未定义任何特殊安全设置,那么让 AppScan(而不是 GSC)在“测试”阶段发送测试将显著缩短扫描时间。但是,如果在“测试”阶段中许多测试没有得到响应,或者得到意外错误响应,那么问题可能是由 GSC 与 AppScan 发送请求的方式之间的差异所造成。使用 GSC 发送此类测试可能会解决问题。

敏感信息模式

一个正则表达式,用于定义将从日志和报告中过滤掉的一个或多个组(如果已激活“净化日志”或“净化报告”选项)。

缺省值:空

如果需要从报告或日志中除去敏感信息,请激活相关选项(“净化日志”或“净化报告”),然后在此处的正则表达式中定义一个或多个组。

敏感文本替换为:**CONFIDENTIAL 1**、**CONFIDENTIAL 2** 等等。

“扫描配置 > 自动表单填写”中定义的密码将从所有报告中排除,即使未定义模式也是如此。

JavaScript™:

访存外部链接

当启用了“JavaScript 执行”时,允许 AppScan 访存外部链接,即使其服务器未在 AppScan 中配置为附加服务器也如此。

缺省值:False

HTML 页面经常链接到外部 JavaScript 源文件,如 Dojo 和 jQuery 源文件。如果您想要“JavaScript 执行”访问在探索阶段中发现的所有相关链接,而不用将所有服务器添加到 AppScan 测试的“附加服务器和域”列表,请激活此设置。

请注意,AppScan 将访存链接,但不会对其进行测试,也不会针对新链接对其进行解析。

JavaScript 链接模式

AppScan 使用各种模式来识别 JavaScript 代码中的链接。如果站点使用独特模式,那么应在此正则表达式中定义这些模式。

缺省值:空

如果 AppScan 看起来遗漏了JavaScript 代码中的链接,并且站点使用独特的 JavaScript 链接模式,请在此处定义一个或多个模式,以指示 AppScan 要搜索的内容。

本地化:

HTML 编码

覆盖站点的 HTML 响应中定义的编码。

缺省值:空

如果扫描结果中的响应内容似乎失真,那么这可能意味着:

1) AppScan 未正确识别编码方法,或者

2) 站点的 HTML 中错误定义了编码方法

要解决问题 1:在“探索选项”下拉列表中选择正确的方法。

要解决问题 2:在此处输入正确的编码方法。

参数和 cookie:

从测试中排除冗余 JSON 参数

JSON 内容类型主体可包含无需进行单独测试的单个参数的多个值。如果设置为 True,那么 AppScan 将尝试识别冗余值并将测试限制在子集,从而缩短扫描时间。

缺省值:True

如果您发现特定的重要参数未测试,请将此设置更改为 False。

从测试中排除冗余 XML 参数

XML 内容类型主体可包含无需进行单独测试的单个参数的多个值。如果设置为 True,那么 AppScan 将尝试识别冗余值并将测试限制在子集,从而缩短扫描时间。

缺省值:True

如果您发现特定的重要参数未测试,请将此设置更改为 False。

跟踪头中的定制参数

该设置仅适用于通过 AppScan v8.7.0.1 或更低版本保存的扫描。在更高版本中,默认行为更改为 True,且在以下位置控制各个参数和 cookie 的设置:“扫描配置 > 参数和 cookie > 参数定义 > 跟踪选项 > 匹配:标题和主体”(缺省值)或仅主体(请参阅参数定义)。

缺省情况下,AppScan(V8.7.0.1 和更低版本)仅在响应的正文中,而不在其头中搜索定制参数。如果将此设置更改为 True,那么 AppScan 还将在头中进行搜索。

缺省值:False

如果由于响应头中的参数发生更改而使 AppScan 离开会话,那么更改此设置可能会解决问题。请注意,这可能会增加扫描时间。

仅当直接插入内容存在时在“测试”阶段中跟踪动态参数

在“测试”阶段中跟踪动态参数可能会导致性能问题。因此,在缺省情况下,仅会针对直接插入内容来在“测试”阶段中跟踪动态参数。

缺省值:True

请仅在此类型的跟踪为必需时将此设置更改为 False。

服务器停机检测:

在“探索”期间检查“服务器停机”

支持在“探索”阶段中发送脉动信号请求以检查“服务器停机”。

缺省值:True

如果 AppScan 在“探索”阶段中收到服务器停机错误,但服务器并未停机,那么这可能是由于服务器阻止频繁的脉动信号请求所导致。

如果在扫描期间 AppScan 频繁离开会话,那么这可能是由于起始 URL 是作为脉动信号发送到服务器(无 cookie)。

停用此设置可能会解决问题,但请注意,AppScan 将无法验证服务器状态。

在“测试”期间检查“服务器停机”

支持在“测试”阶段中发送脉动信号请求以检查“服务器停机”。

缺省值:True

如果 AppScan 在“测试”阶段中收到服务器停机错误,但服务器并未停机,那么这可能是由于服务器阻止频繁的脉动信号请求所导致。

如果在扫描期间 AppScan 频繁离开会话,那么这可能是由于起始 URL 是作为脉动信号发送到服务器(无 cookie)。

停用此设置可能会解决问题,但请注意,AppScan 将无法验证服务器状态。

“探索”阶段重新连接尝试次数

AppScan 即将完成“探索”阶段,但由于“服务器宕机”而有几个测试失败且服务器仍然宕机时,AppScan 将多次尝试连接到服务器。

缺省值:5

如果您知道服务器很敏感,或者看到扫描已由于通信错误而停止并且与此同时若干测试已由于通信错误而失败,那么应增大此数字。

请求重试时间间隔

在重新发送失败请求(包括失败的脉动信号请求)之前的时间间隔(秒)。

缺省值:1

如果您知道连接不佳或服务器不稳定(这将导致漏报结果或缩小的覆盖范围),那么可延长此时间间隔以降低影响。

请求重试限制

重试发送失败请求的次数。

缺省值:2

如果服务器不稳定或通信不佳,那么增大此设置可能会提高扫描效率。

服务器停机超时

AppScan 无法连接到服务器或离开会话时,此设置用于定义 AppScan 在停止扫描之前,将使用多长时间(以秒为单位)尝试重新连接或回到会话中。

缺省值:185

如果连接速度较慢,或者服务器在停机后需要较长时间才能重新装入,那么您可能希望增大此设置的值。

服务器停机脉动信号时间间隔

“服务器停机”脉动信号之间的时间间隔(秒)

缺省值:3 秒

最大:60 秒

如果在扫描期间 AppScan 收到服务器停机错误,那么这可能是由于连接不佳或服务器不稳定所导致。延长此时间间隔可能会解决问题。

测试阶段重新连接尝试次数

AppScan 即将完成“测试”阶段,但由于“服务器宕机”而有几个测试失败且服务器仍然宕机时,AppScan 将多次尝试连接到服务器。

缺省值:5

如果您知道服务器很敏感,或者看到扫描已由于通信错误而停止并且与此同时若干测试已由于通信错误而失败,那么应增大此数字。

会话管理:

广告域

用于描述公共 Web 广告域的正则表达式。将废弃在记录登录序列时发送到这些域的请求。

缺省值:ad\d.googlesyndication| doubleclick\.net|coremetrics\.|webtrends\ .|112\.2o7\.net|view.atdmt.com| ad.yieldmanager.com|ads.adbrite.com| oasn04.247realmedia.com| segment-pixel.invitemedia.com"

因为在扫描期间将持续重放登录序列,所以您可以通过过滤掉这些不必要的请求来提高扫描效率。

请注意,如果完全删除此正则表达式,那么将不会过滤掉任何域。

分析登录记录

记录登录序列(扫描配置 > 登录管理)时,AppScan 将进行分析并更新会话中检测设置(会话中模式、会话中请求以及登录期间接收的会话标识)。

缺省值:True

如果分析时间过长,可将此设置更改为 False。但是,如果这样做,需要手动配置会话中检测设置。

在播放登录之前清除 cookie

确定是否在重放登录序列之前删除 cookie。

缺省值:True

公共静态参数值

公共静态参数值。用于检测在登录期间不应跟踪的非随机参数值。

缺省值:|true|false|\bon\b|\boff\b|\ bout\b|checked|enabled|log\s?in|log\ s?out|exit|submit|sign|ever|disabled| agree

禁用“探索”阶段会话中缓冲

在“探索”阶段中:如果请求的响应指示发送请求时用户已在会话之外,那么 AppScan 会让请求排队以再次发送。这可确保扫描站点中尽可能多的内容。

缺省值:False

如果站点频繁地将用户抛出会话,那么会话中缓冲可能导致“探索”阶段无限地继续。将该选项设置为 True 将使“探索”阶段更快,但可能会缩小站点覆盖范围。

多步骤操作前的会话中状态

缺省情况下,AppScan 会在重放多步骤操作之前验证会话中状态。

缺省值:True

如果要通过未认证的用户来测试多步骤操作,或者如果多步骤序列包含登录步骤,请将该设置更改为 False。

重要: 如果取消选择扫描配置 > 登录管理 > 详细信息 > 激活会话中检测,并且此高级设置已设为 True(缺省值),那么将在每个多步骤操作之前重放整个登录序列。

会话中脉动信号时间间隔

会话中脉动信号之间的时间间隔(秒)。

缺省值:5

如果在扫描期间 AppScan 离开会话,那么这可能是由于连接不佳或服务器不稳定所导致。延长此时间间隔可能会解决问题。

登录内容类型过滤器

正则表达式,用于定义应从登录和多步骤操作序列中过滤掉的内容类型。记录登录或多步骤操作序列后,其响应中包含具有这些内容类型的头的请求将从序列中移除。因此,当 AppScan 在扫描期间重放该序列时,其响应中包含具有这些内容类型的头的请求将不会作为该序列的一部分发送。

缺省值:text/javascript|application/javascript|

application/x-javascript|image|text/css

如果您站点的登录过程或您已记录的某个多步骤操作需要单击包含具有此处所列内容类型的头的链接,应将其从该正则表达式中移除。

登录重试时间间隔

在重新发送失败的登录请求之前的时间间隔(秒)。

缺省值:3

如果 AppScan 离开会话,并且重复的登录重试尝试均失败,那么这可能是因为服务器对频繁的登录尝试敏感。延长此时间间隔可能会解决问题。

多重部件内容类型过滤器

为减少不必要的内存消耗,将从多重部件请求(包含多个内容类型的请求)中自动滤除某些内容类型。只有在此正则表达式中定义的内容类型才会包含在多重部件请求中;所有其他请求将被过滤掉。

缺省情况下,将包含没有内容类型头的内容,并将通过以下值定义:
content_without_content_type_header

缺省值:text/|text/plain|application/javascript|

application/json|application/rtf|application/xml|

text/xml|content_without_content_type_header

如果从请求中滤除了重要的内容类型,请将其添加到此正则表达式。您可能还可以通过除去不必要的内容类型使其不发送来减少内存消耗。

导航参数主机

用于描述主机的正则表达式。用于检测在登录序列期间不应跟踪的导航参数(按值)。

缺省值:https?://

如果站点在导航参数中使用非普通的主机(即通过缺省正则表达式未过滤掉的主机),那么您可以添加这些主机以提高扫描效率。

如果删除此项,那么可能无法正确识别导航参数。

导航参数脚本

一个正则表达式,用于描述在检测登录序列期间不应跟踪的导航参数(按参数值)时所使用的服务器端脚本。

缺省值:/[^/\.]+\.(htm|jsp|jsf|ws|dll|asp|php|do)

如果站点在导航参数中使用非普通的服务器端脚本(即通过缺省正则表达式未过滤掉的服务器端脚本),那么您可以添加这些脚本以提高扫描效率。

如果删除此项,那么可能无法正确识别导航参数。

导航参数

用于描述在登录序列期间不应跟踪的导航参数的正则表达式。

缺省值:\bnav|url|page|step|redirect|request|

location|target|argument|item|article|

goto|node|action|ctrl|control|source|

menu|frame|command

如果站点使用通过缺省正则表达式未过滤掉的非普通导航参数,那么您可以添加这些参数以提高扫描效率。

修改此正则表达式可能会导致扫描覆盖范围不够或会话跟踪不正确。

解析会话中页面

如果设置为 False,AppScan 将不会对会话中页面进行语法分析,并不会更新在会话中页面更改其值的被跟踪参数或 cookie。

缺省值:True

如果会话中页面不包含被跟踪的 cookie 或参数,那么可以通过将此设置更改为 False 来提高性能。请注意,如果设置为 False,那么 AppScan 不会更新会话中页面上的 cookie/参数值,这可能会导致离开会话。

脉动信号之间的请求

在一个会话中检测请求之后,AppScan 将至少发送此处定义数量的请求,然后才会发送另一个会话中检测请求。

缺省值:1

如果服务器的慢速响应导致扫描中绝大部分为会话中检测请求(请参阅“流量日志”),那么增大此值可缩短扫描时间。

单次基于操作的登录尝试的超时

AppScan 在强制浏览器关闭之前等待浏览器重放单次基于操作的登录尝试的时间(秒)。

缺省值:120 秒

特殊模式:

从自动表单填充中排除

将从自动表单填充器中排除此处列出的参数名称。

缺省值:^CFID __EVENTVALIDATION __VIEWSTATE ^CFTOKEN __EVENTARGUMENT __EVENTTARGET ^BV_ 

具有很长值的参数可能会降低扫描速度并增大文件大小。如果应用程序使用带有长值的参数,并且不需要这些参数来填充表单,那么将其添加到此列表中。

测试:

CSRF:有意义请求的模式

缺省情况下,AppScan 针对跨站点请求伪造会测试 POST 请求以及响应为“Transaction Successful”的请求。

通过此设置,除 POST 请求外,还可针对跨站点请求伪造漏洞将其他请求也定义为“有意义”。

此定义与“CSRF:有意义响应的模式”结合使用。

缺省值:^POST

如果您还要针对关于 GET 请求的跨站点请求伪造进行测试,请更改此正则表达式。

CSRF:有意义响应的模式

缺省情况下,AppScan 针对跨站点请求伪造会测试 POST 请求以及响应为“Transaction Successful”的请求。

通过此设置,除“Transaction Successful”外,还可针对跨站点请求伪造漏洞将其他响应也定义为“有意义”。

此定义与“CSRF:有意义请求的模式”结合使用。

缺省值:Transaction Successful

如果针对跨站点请求伪造来测试那些接收其他类型响应的请求,请在此正则表达式中定义这些响应。

差异阈值

AppScan 通常需要比较两个响应,并决定结果是“相似”还是“不同”,从而了解测试是否成功。在这些情况下,AppScan 使用各种算法来分配“相似性百分比”(其中 100% 意味着两个响应完全相同)。在某些情况下,它根据“相似性百分比”是否高于“相似性阈值”来决定测试结果,在某些情况下则根据“相似性百分比”是否低于“不同阈值”来决定测试结果。这两个阈值都是可配置的。

对于大多数测试,缺省“相似性阈值”为 95%,缺省“差异阈值”为 75%。这意味着:
  • 对于其结果取决于相似性的测试结果,“相似性百分比”为 95% 或更高指示两个页面是类似的。
  • 对于其结果取决于差异的测试结果,“相似性百分比”为 75% 或更低指示两个页面是不同的。

如果对该设置输入 1 到 100(百分比)之间的值,那么该值将覆盖所有测试的缺省“差异阈值”。您可能还想要调整“相似性阈值”。

缺省值:0(使用 AppScan 阈值)

如果站点没有引起相似响应有细微差异的“动态”文本,那么请设置低于 75 的值以减少假正结果。

提示: 您可能还想要调整“相似性阈值”(请参阅以下内容)。

禁用 cookie 测试

此设置用于彻底关闭 cookie 测试。

缺省值:False

如果应用程序的 cookie 测试导致扫描时间非常长,那么可禁用该测试。不过,这样做可能会导致遗漏安全性问题(“漏报”)。

禁用静态内容的 cookie 测试

对于具有此扩展名的页面,不测试请求中的 cookie。

缺省值:;htm;html;ahtm;ahtml;

chtm;chtml;fhtm;fhtml;mht;

mhtm;mhtml;css;css1;js;

为了缩短扫描时间并降低内存消耗,您可能希望排除其他类型的页面扩展名。如果是这样,请将这些页面扩展名添加到要排除的扩展名的列表(以分号隔开)。

不测试目录或页面

通过此选项,可定义一个正则表达式来使特定目录或页面在“测试”阶段中被排除在攻击以外。请注意,这将仅排除所定义的目录或页面,不会排除任何子目录或文件。

缺省值:/wps/[^/]*/!ut/

如果您知道某些目录或页面不易受攻击,或者担心对其进行测试可能会损害站点稳定性,那么可通过在此正则表达式中对其进行定义来将其从扫描中排除。

有关排除文件夹及其所有子文件夹的信息,请参阅“排除路径和文件”视图

从所有响应中抽取链接

缺省情况下,在测试阶段中,AppScan 将仅搜索易受攻击响应中的新链接。

缺省值:False

如果您认为 AppScan 可能会遗漏链接,或者其覆盖范围不足,那么可启用此设置,但这样做将会延长扫描时间并增大文件大小。

跟踪所有自动链接

缺省情况下,AppScan 仅跟踪可能包含漏洞的自动链接*。这些链接为:iFrame、Frame 和 Redirect。您可以对其进行配置,以跟踪所有类型的自动链接。

请注意,无论此设置如何,都将永不发送与“要忽略的自动链接”中定义的正则表达式匹配的请求。

缺省值:False

如果您认为站点可能在其他类型的自动链接(如脚本)中包含漏洞,请启用此设置。这将增加扫描时间和文件大小。

测试后登录

在单个线程中发送测试,并且在每个测试后都验证是否在会话中或发送登录请求。

0 = False

1 = 在单个线程中发送测试,并且在每个测试后都验证是否在会话中。如果在会话外,发送登录序列。

2 = 在单个线程中发送测试,并且在每个测试后都发送登录序列。

缺省值:0

对于具有敏感会话的应用程序,或者需要后续注销以避免会话或内容问题的应用程序,可能需要设置 1 或 2。这极大程度地增加了扫描时间。

多步骤操作:验证限制

将要在跨站点脚本编制测试中验证的多步骤操作序列中连续请求的最大数量。

缺省值:0

响应中要忽略的模式

此正则表达式定义在分析测试响应时 AppScan 将忽略的响应部分。

比较响应以决定测试是否已成功时,AppScan 会度量整个响应中更改的百分比。如果响应非常长,并且更改非常小,那么 AppScan 可能会忽略差异并遗漏漏洞。

缺省值:<input[^>]+(__VIEWSTATE|__

EVENTTARGET|

__EVENTARGUMENT|

__EVENTVALIDATION)

[^>]+>

如果站点发送包含不重要的长部分的响应,那么在此处定义这些部分可提高扫描准确性和性能。

刷新原始响应时间间隔

在“测试”阶段中刷新原始响应(通过重新发送请求)之前的时间间隔(秒)。

AppScan 用来确定“测试”响应是否揭示漏洞的方法之一是将该响应与“探索”响应进行比较。如果“探索”响应比此处设置的值更旧,那么将在发送测试之前再次发送“探索”请求,以便已更新的“探索”响应能够用于比较。这对于如下情况很重要:“探索”响应可能随时间而变化,并且将“测试”响应与过时的“探索”响应相比较可能会导致误报。

缺省值:30(秒)

如果您确信应用程序的响应永远不会以这种方式过时,那么可以将此设置更改为零以缩短扫描时间。然后将永远不会重新发送“探索”阶段请求。

发送端口侦听器测试

缺省情况下,AppScan 不会发送端口侦听器测试,因为测试容易失败并且需要较长时间进行验证。

缺省值:False

如果外部站点是您的网络的一部分,因此能够识别本地 IP 地址,那么您可能要激活此类型的 SQL 盲注测试。

相似性阈值

AppScan 通常需要比较两个响应,并决定结果是“相似”还是“不同”,从而了解测试是否成功。在这些情况下,AppScan 使用各种算法来分配“相似性百分比”(其中 100% 意味着两个响应完全相同)。在某些情况下,它根据“相似性百分比”是否高于“相似性阈值”来决定测试结果,在某些情况下则根据“相似性百分比”是否低于“不同阈值”来决定测试结果。这两个阈值都是可配置的。

对于大多数测试,缺省“相似性阈值”为 95%,缺省“差异阈值”为 75%。这意味着:
  • 对于其结果取决于相似性的测试结果,“相似性百分比”为 95% 或更高指示两个页面是类似的。
  • 对于其结果取决于差异的测试结果,“相似性百分比”为 75% 或更低指示两个页面是不同的。

如果对该设置输入 1 到 100(百分比)之间的值,那么该值将覆盖所有测试的缺省“相似性阈值”。

缺省值:0(使用 AppScan 阈值)

如果站点不具有任何会导致相似响应之间存在细微差异的“动态”文本,那么提高此百分比可能会减少误报结果。

提示: 您可能还想要调整“差异阈值”(请参阅上述内容)。

XSS:测试所有反射的探测器

通常,在来自站点的响应中多次出现的有效内容文本具有同一级别的漏洞,因此 AppScan 仅会对其中一个进行测试。

缺省值:False

如果要对单个响应中有效内容文本的每次出现都进行测试,请将此选项设置为 True。

* 自动链接:Web 页面上由浏览器自动发送而无需任何用户交互的链接。