短代码通过 REST API 更新扫描模板

短代码

REST API /jobs/{jobId}/dastconfig/updatescant 用于更新扫描作业中的设置。“scantNodeXpath”值表明配置的 XPath 可以更新。为了更容易使用,我们为几个常用的 Xpath 提供了短代码。

以下列出了 AppScan Enterprise 中当前可用于“updatescant” REST API 的短代码:
短代码 XPath
StartingUrl //ScanConfiguration/Application/StartingUrls/StartingUrl
LoginUsername //ScanConfiguration/UserInput/FormFiller/Group[@LogicalName='InternalAppScanUserName']/Value
LoginPassword //ScanConfiguration/UserInput/FormFiller/Group[@LogicalName='InternalAppScanPassword']/Value
LoginMethod //ScanConfiguration/SessionManagement/SessionManagementMode
CustomHeaders //ScanConfiguration/customHeaders
AccountLockout //ScanConfiguration/AdvancedScanOptions/Group

[@LogicalName='TestOptions']/Key

[@LogicalName='AccountLockoutNumOfAttempts']@Value

AdditionalDomains //ScanConfiguration/Application/AdditionalServers
排除项 //ScanConfiguration/ExploreFilters/RequestFilters

用法示例

在这些示例中,scantNodeNewValue 是可以更改的变更。

更改起始 URL:

{
 "scantNodeXpath":"StartingUrl",
 "scantNodeNewValue":"https://urlTest.com"
 }
更改登录密码:
{
 "scantNodeXpath":"LoginPassword",
 "scantNodeNewValue":"passwordTest", "encryptNodeValue":true
 }
更改排除项:
{
 "scantNodeXpath":"Exclusions",
 "scantNodeNewValue":"<RequestFilter FilterType="Exclude"><Description>Microsoft SharePoint site removal URL</Description><PathPattern><ConfigPattern IsRegularExpression="True"><Pattern>.*/deleteweb.aspx</Pattern></ConfigPattern>
 </PathPattern><ParametersPatterns />
 </RequestFilter><RequestFilter FilterType="Exclude"><Description>test exclusion</Description><PathPattern><ConfigPattern IsRegularExpression="True"><Pattern>.*/error.aspx</Pattern></ConfigPattern></PathPattern><ParametersPatterns /></RequestFilter>"
 }
注: 每个排除项都有一个描述、一个模式以及可选的参数模式。REST API 会覆盖所有已配置的现有排除项。因此,需要为每个添加项提供完整的排除列表。这适用于具有多个值的所有配置的所有更新。
设置客户标题
{
 "scantNodeXpath":"CustomHeaders",
 "scantNodeNewValue":"<customHeader><Name>Authorization</Name><HeaderValue>Bearer {0}</HeaderValue><ExtractValueFromBodyRegEx>(?i)value\\s*[:|=]\\s*[\"|']([A-Fa-f0-9]{16})[\"|']</ExtractValueFromBodyRegEx><Enabled>True</Enabled><Type>2</Type></customHeader>"
 }
注: 在这个示例中,ExtractValueFromBodyRegEx 是一个从响应主体的值中提取的正则表达式。正则表达式中的组(圆括号之间的值)将像 认证一样插入到“HeaderValue”中:承载者 <组值>
设置深度限制:
{
 "scantNodeXpath":"//ScanConfiguration/ExploreFilters/DepthLimit",
 "shortcodeXPathValue":false,
 "scantNodeNewValue":"25"
 }
注: 要更新没有提供短代码的所有配置,请将 shortcodeXPathValue:false 添加到正文的 json中。