短代码通过 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中。