AppScan Enterprise REST API 示例
樣本 1:使用 JavaScript 編寫的樣本腳本
這些樣本提供使用應用程序安全管理 REST API 可執行的操作的示例。
開始之前
從 https://github.com/douglascrockford/JSON-js 下載 json2.js 幫助程序庫。
關于此任務
以下是要下載并使用的樣本 zip 文件:ASM_API_Samples_Javascript.zip ,以下是 zip 文件中包含的樣本腳本:
- asm_api_summaries_issues_appfilter.js:此示例說明何登錄,在查詢過程中使用應用程序屬性獲取有關問題的基本摘要信息,以及注銷。
- asm_api_summaries_issues_daterange.js:此示例說明如何登錄,使用日期范圍查詢獲取有關問題的基本摘要信息,以及注銷。
- asm_sample_avg_issues_found_per_app_by_month.js:此示例說明按月獲取每個應用程序找到的平均問題數的方式。
- asm_sample_count_issues_by_app_over_time.js:此示例說明逐月枚舉已發現新問題的應用程序列表的方式。
- asm_sample_overdue_issues.js:此示例說明識別“逾期問題”的方式。
過程
在硬盤驅動器上的任意位置解壓縮樣本 zip 文件。然后,將 json2.js 幫助程序庫復制到 .\3rdParty\json2.js 子文件夾中。
編輯 _your_connection_info.js 文件以指定 AppScan Enterprise Server 和用戶憑證的位置。
注: common_functions.js 文件包含各種樣本使用的共享函數。請勿直接運行該文件。
通過從命令行使用 cscript 來運行任何其他 asm_xxxxx.js 文件。例如,
c:/> cscript asm_api_summaries_issues_appfilter.js。或者,雙擊 runAll.bat 文件以運行所有樣本。
啟用應用程序安全管理 REST API 交互式框架
內置的 REST API 界面使您可以將 RESTful Web 服務可視化,這些 Web 服務用于創建和更新應用程序、設置用戶的應用程序訪問權以及添加或更新問題。使用框架可與 API 交互并獲得對 API 響應參數和選項的方式的清晰認識。
開始之前
注:
- 要為用戶啟用框架的 URL,產品管理員必須通過添加
ase.rest.doc.enabled=true這行代碼來修改 \AppScan Enterprise\Liberty\usr\servers\ase\config\asc.properties 文件。否則,用戶嘗試訪問此 URL 時會遇到 404 錯誤頁。修改asc.properties文件后,重新啟動 HCL AppScan Enterprise Server 服務。 - 要訪問交互式 REST API 框架,必須將實例名稱命名為“ase”。
關于此任務
通過遵循此示例來使用 /application REST API 創建應用程序,從而學習如何使用交互式框架。
過程
登錄到 AppScan Enterprise。
轉到 https://:9443/ase/api/pages/apidocs.html。對此 URL 設置書簽以供將來參考。
單擊應用程序以展開描述和信息。

單擊創建應用程序以展開操作詳細信息。

在“參數”部分中,單擊模型模式。

單擊“模型模式”編輯框中的文本以將文本作為 JSON 對象請求復制到 Parameter Value 框。

更改 JSON 元素的值。
例如,將
`{
“attributeCollection”: {"attributeArray": [ { "name": "" } ] }, "id": 0, "name": "", "description": "", "dateCreated": "Timestamp", "lastUpdated": "Timestamp" }`替換為
{ "attributeCollection": null, "id": 1, "name": "app1", "description": "template", "dateCreated": null, "lastUpdated": null }執行請求并查看響應。

短代碼通過 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":"http://ScanConfiguration/ExploreFilters/DepthLimit",
"shortcodeXPathValue":false,
"scantNodeNewValue":"25"
}
注: 要更新沒有提供短代碼的所有配置,請將 shortcodeXPathValue:false 添加到正文的 json中。
HCL AppScan Enterprise 中文文檔 10.0.1
推薦文章: