高级配置

此视图可用于访问许多高级注册表设置,并且仅应由有经验的 AppScan 用户使用,或者在支持团队的指导下对问题进行故障诊断时使用。

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

名称

描述

可能的用例

基于操作:

在浏览器中自动审批 JS 对话框 在 Javascript 对话框中自动按“确定”:警报、确认、提示。

缺省值:False

内存消耗限制

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

缺省值 = 1000 MB

多步骤回放无交互超时值

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

缺省值:10

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

设置在扫描的测试阶段可以使用多少浏览实例。

缺省值 = 5

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

在自动“探索”中保存屏幕快照

AppScan 可以保存自动“探索”期间访问的每个页面的屏幕快照,但这会影响性能,并大幅增加用于保存数据的临时文件夹的大小。

缺省情况下,探索数据保存在:
C:\ProgramData\HCL\AppScan Standard\temp\[run number]
\AutoCrawler\dom-states\[page identifier]

AppScan 关闭时数据将被删除。

缺省值:False

如果要查看这些屏幕快照以验证自动“探索”阶段,请更改为 True。请注意,关闭 AppScan 时不会保存屏幕快照。

单个登录尝试的超时值

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

缺省值:120

使用 AppScan Chromium

缺省情况下,AppScan 使用 Chromium。如有必要,您可以将此设置更改为“True”,以改用 AppScan 自己的 Chromium 实现。

缺省值:True

API 自动探索:

在 Web API 自动探索中包含“删除”请求

如果希望 AppScan 在自动探索中包含“删除”请求,请设置为 true。“删除”请求仅包含在多步骤序列中。

缺省值:False

在 Web API 探索期间检测多步骤序列

缺省情况下不启用,因为多步骤序列分析可能需要很长时间。如果希望 AppScan 在 Web API 探索期间检测多步骤序列,请设置为 true。

缺省值:False

AWS 授权

Cognito 刷新间隔

Cognito 密钥更新请求之间的时间间隔(以秒为单位)。

缺省值:270

通信:

接受语言请求标题值

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

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

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

缺省值:en-US

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

将不带参数的 HTTP 请求强制发送到每个表单操作

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

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

缺省值:True

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

HTTP 首选项

定义扫描时 AppScan 使用的首选 HTTP 版本。如果服务器不支持所选版本,则 AppScan 将选择受支持的最佳选项。选项包括:
  • 0 = HTTP/1.0
  • 1 = HTTP/1.1
  • 2 = HTTP/2

缺省值:1

要点:AppScan 仅在 HTTP/2 网站也使用 TLS 1.2 的情况下才能扫描该等网站。非 HTTPS 网站以及使用较早版本 TLS 的网站将使用 HTTP/1.1 进行扫描。

在所有请求中包含 Content-Length 头

某些服务器需要 Content-Length 头,即使在未定义消息体语义(例如 GET 方法)的请求中也是如此。如果缺少此头,服务器将拒绝请求。为解决此问题,AppScan 会向没有 Content-Length 头的请求添加 Content-Length 头。

设置为 True 时,AppScan 会向尚未包含 Content-Length 头的任何请求添加 Content-Length 头。

设置为 False 时,仅在以下条件下 AppScan 才会向不包含 Content-Length 头的任何请求添加 Content-Length 头:
  • 存在非零长度的请求体
  • POST、PUT 或 PATCH 请求中存在零长度的请求体
  • 从服务器接收到 HTTP 411 LengthRequired

缺省值:True

如果缺省行为导致服务器发出 400 Bad Request 响应,因为它不期望 GET 请求具有 Content-Length 头(因为 GET 请求通常不包含请求体),请将此设置更改为 False。

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

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

缺省值:False

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

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

最大响应长度

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

缺省值:10

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

除去“接受编码”标题

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 使用连续斜杠,请停用此设置。

TLS 支持

列出允许的 TLS 协议。AppScan 将选择用户配置和服务器允许的最安全协议。此字段的值应该是逗号分隔列表。

缺省值:TLS 1.3、TLS 1.2、TLS 1.1、TLS 1.0
注: 只有在操作系统上运行 AppScan 时,才支持 TLS 1.3:Windows Server 2022、Windows 11 或更高版本。

如有必要,可以将 SSL 3.0 添加到允许的协议列表中。

将错误响应视为有效

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

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

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

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

缺省值:0

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

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

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

一般:

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

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

缺省值:False

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

启用“将 JS 请求的模式从代理过滤器中排除”。

设置为 true 时,AppScan 使用模式来标识代理中应保留而不是过滤出的特定 JavaScript 请求。

缺省值:False

加密敏感数据

当设置为 True 时,所有通过 AppScan 保存或导出的文件(SCANT、LOGIN、SEQ、ASFF)中的以下数据被加密:
  • 所有表单填写程序内容
  • 所有会话管理请求
  • 所有多步骤操作
  • 所有 TOTP 数据

当设置为 False 时,这些文件中仅加密密码和 TOTP 密钥。

缺省值:True

合并冗余测试

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

缺省值:True

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

将 JS 请求的模式从代理过滤器中排除

应用于响应头的正则表达式,用于定义不应由代理内容类型过滤器过滤的 JavaScript 请求。

缺省值:Cache-Control:[ ]*([^\n\r]*)(no-store|no-cache|max-age=0)

代理文件扩展名过滤器

正则表达式,定义要从在记录登录、手动探索或多步骤操作时保存的 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)。

审查日志

从日志中除去敏感信息。

缺省值:True

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

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

审查报告

从报告中除去敏感信息。

缺省值:True

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

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

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

敏感信息模式

用于定义一个或多个组(在激活了审查日志或审查报告选项的情况下,将过滤出日志和报告)的正则表达式。

缺省值:空

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

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

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

敏感参数名称

定义一个或多个不会显示的参数名称的正则表达式。

缺省值:refresh_token|secret|KeySecret|client_secret

IAST
启用与 IAST 代理程序的通信(安装 IAST 代理程序时)

启用此选项可通过 AppScan IAST(交互式应用程序安全性测试)增强 DAST 扫描,从而显著提高扫描准确性和缩短修复时间。

缺省值:False

如果客户使用 AppScan on Cloud 或 AppScan Enterprise 并具有活动 AppScan IAST 订阅,则客户可以选择在扫描已部署活动 IAST 代理程序的站点时启用此配置。
JavaScript
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 > 参数定义 > 跟踪选项 > 匹配:头和主体”(缺省值)或仅主体(请参阅参数、Cookie 和头定义)。

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

缺省值:False

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

仅当存在内联内容时,才跟踪“测试”阶段中的动态参数

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

缺省值:True

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

Postman:

登录分析样本规模

上载 Postman 集合时,AppScan 会对其进行分析,尝试识别会话中模式。AppScan 使用此模式来检测其在扫描期间何时被注销。此设置定义要分析集合中的多少请求来尝试识别有效模式。

缺省值:9

如果 AppScan 未能自动识别有效的会话中模式,请尝试增大此值。

服务器停机检测:

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

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

缺省值:True

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

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

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

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

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

缺省值:True

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

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

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

探索阶段重新连接尝试

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

缺省值:7

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

请求重试时间间隔

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

缺省值:1

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

请求重试限制

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

缺省值:2

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

服务器停机超时

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

缺省值:185

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

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

以秒计算“服务器停机”脉动信号之间的时间间隔。

缺省值:3 秒

最大:60 秒

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

测试阶段重新连接尝试

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

缺省值:7

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

会话管理:

广告域

用于描述公共 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(缺省值),那么将在每个多步骤操作之前重放整个登录序列。

会话中脉动信号间隔

以秒计算会话中脉动信号之间的时间间隔。

缺省值:7

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

登录重试时间间隔

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

缺省值:5

如果 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/参数值,这可能会导致离开会话。

密码参数名称

由“记录的登录分析”用于标识密码参数。需要全名。

缺省值:password|pass|pswd|pwd

有时,当您导入登录(而不是使用基于操作的登录进行记录)时,AppScan 可能无法识别密码参数名称。如果发生这种情况,“扫描配置 > 自动表单填写”中的“密码”字段将为空。如果发生这种情况,请在此处添加完整的密码参数名称。

脉动信号之间的请求

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

缺省值:1

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

序列内容类型过滤器

定义将从登录、多步骤序列和手动探索中过滤掉的内容类型的正则表达式。

缺省值:text/javascript|application/javascript|application/x-javascript|image|text/css|application/x-msdownload|application/zip|application/octet-stream|application/java-archive|application/font-|application/x-font

特殊模式:

从自动表单填充中排除

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

缺省值:^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

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

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

受测试实体列表

以管道符号分隔的实体列表。缺省情况下包括所有有效的实体:HttpServer | Directory | Path | Parameter | Cookie Name | Html Comment | Request | ClientScript | Response Cookie | Link | Page | Privilege Escalation Request | Header
  • 在不修改测试策略的情况下禁止运行特定测试。
  • 如果对多种实体类型(例如标头、参数和 Cookie)运行测试:为了允许对参数和 Cookie 运行测试,但禁止对标头运行测试,您可以从此列表中删除“headers”。

测试后登录

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

0 = False

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

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

缺省值:0

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

多步骤操作:验证限制

在当前测试的步骤之后将验证的来自多步骤操作序列的最大后续请求数。

缺省值:0

有关详细信息,请参阅 序列验证

省略不需要的响应主体

对于某些类型的测试,确认漏洞的不是响应主体。将此内容保存为扫描数据的一部分会增加扫描范围,但不会带来任何好处,因此缺省情况下,AppScan 不会在这些情况下保存该内容。请注意,将此值设置为 False 可能会显著增加扫描范围。

缺省值:True

n/a

响应时忽略的模式

此正则表达式定义在分析测试响应时 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:使用浏览器重新验证

对于一些跨站点脚本问题,使用实际浏览器检查站点的响应可以更好地识别警报弹出窗口,并减少误报结果。

缺省值:True

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

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

缺省值:False

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