「探索選項」視圖
定義 AppScan 將用來探索應用程式的探索方法(動作型、要求型或兩者),以及其他基本和進階探索設定。
- 探索方法
- AppScan 針對掃描的「探索」階段使用兩個相異的方法。您可以選取任一項或兩者皆選。這兩種方法,「要求型探索」通常會比「動作型探索」快速。選取兩者時(這是預設且建議的選項),會先執行「動作型探索」,但有 30 分鐘的時間限制,然後再接著執行「要求型探索」。
- 頁面結構 (DOM) 過濾功能
- 這些功能可以識別非常類似於已掃描頁面的那些頁面,因此您可以放心忽略,掃描時間也因而大幅降低。
- 掃描限制
- 這些功能決定了 AppScan 探索您應用程式的深度(或速度)。
- 進階設定
-
- 其他探索設定:用來配置用戶端,以辨識特定的伺服器編碼,以及傳送特定的 user-agent 標頭。
- 動作型:此方法特有的設定。
- 要求型:此方法特有的設定。
設定 |
詳細資料 |
---|---|
探索方法 |
|
動作型 |
使用 Google Chrome 瀏覽器版本來掃描網站(如同使用者的行為),按一下瀏覽器中可看到的鏈結。這種方法對於使用 JavaScript 和階段作業儲存這類技術,以及 RIA、單一頁面應用程式 (SPA) 或 AngularJS 的網站特別有效率。 |
要求型 |
根據 AppScan 探索的所有頁面內容來傳送要求。這包含使用瀏覽器的使用者所看不到的內容(例如註解中的鏈結),但攻擊者可以看到。 |
頁面結構過濾 |
|
根據結構 (DOM) 過濾類似的頁面 |
AppScan® 會比較新頁面與已掃描頁面的結構 (DOM) 相似性,以指出新頁面不含需要額外測試的新鏈結或內容。例如,在商業網站上,一個型錄可能會有包含數千種不同產品的個別頁面,但所有其他方面都相同。通常不需要掃描所有這些頁面。根據 DOM 相似性加以過濾可以大幅降低掃描時間。 依預設,這兩個勾選框都會選取。掃描之後,您應該檢查掃描結果的「已過濾」標籤,以查看是否有獨特的要求誤被掃描過濾掉。如果發生這種情況,您應該嘗試「過濾較少頁面」選項(這會維持固定且較低階的過濾功能),或一併停用 DOM 過濾功能。 結果的「已過濾」標籤中會有三種類型的已過濾項目:
|
根據結構 (DOM) 過濾可能類似的頁面 |
這項設定會從掃描中過濾掉「可能類似的 DOM」頁面(請參閱上述說明)。如果會誤將唯一的要求從掃描中過濾掉,您應該清除這個勾選框。 |
掃描限制 |
|
冗餘路徑限制 |
AppScan® 存取相同路徑的次數不會超出指定的次數。 如果特定路徑似乎含有不同參數,可以造訪特定路徑若干次。這個限制主要與 Script 相關。依預設是不選取,因為在大部分情況下,選取上述的根據結構 (DOM) 過濾重複的頁面勾選框,便足以控制掃描時間。 |
點按深度限制 |
AppScan® 不會掃描點按超出指定的鏈結數目才能存取的頁面。 |
頁面總數限制 |
如果選取,AppScan® 存取的數量不會超過定義的頁面數上限。請注意,每一頁可能已探索多個 URL。 |
進階選項
- 其他探索設定
- 動作型:僅影響動作型探索的設定
- 要求型:僅影響要求型探索的設定
其他探索設定
這些進階設定適用於動作型和要求型探索。
設定 |
詳細資料 |
---|---|
編碼 |
AppScan® 通常會自動偵測應用程式的編碼方法,因此依預設會選取自動偵測。 如果掃描「結果」中的回應內容似乎已損毀,這可能表示未正確識別編碼方法。如果要解決這個問題,請從下拉清單選取正確的編碼方法。 |
使用者代理程式 |
HTTP 要求中的 user-agent 標頭會告訴伺服器是哪種類型的用戶端傳送該要求,這可能影響伺服器所傳回的內容。舉例來說,可能是行動電話特定的內容,亦即,只有在使用者代理程式是行動電話瀏覽器時才會傳送的內容。為了讓 AppScan® 能夠測試這類內容,您需要將它配置成傳送適當的 user-agent 標頭。 AppScan® 通常會自動偵測使用者代理程式,因此,依預設會選取自動偵測。不過,如果您使用的瀏覽器不是內建瀏覽器,且未記錄登入程序、多步驟作業或手動探索,AppScan® 將無法自動偵測使用者代理程式,而必須手動選取。 如果要變更使用者代理程式,請從下拉清單中選取代理程式。 如果要輸入自訂內容,請按一下編輯按鈕,並輸入內容。當您關閉對話框時,按鈕名稱會變更為自訂使用者代理程式。 附註:如果您變更預設瀏覽器,請參閱 變更預設瀏覽器 所列出的條件 |
動作型
設定 | 詳細資料 |
---|---|
探索逾時(分) | 網站的「動作型探索」預設時間限制為 30 分鐘,在這個時間之後,即使未完整涵蓋網站,「探索」階段也會停止。 如果 AppScan 在這個時間遺漏大部分的網站,您可以增加此逾時值。 |
在頁面上呼叫動作之前最少需等候的時間(毫秒) | AppScan 嘗試識別頁面在開始探索之前已完全載入。 如果您在這新增最少等待期間,AppScan 一律會使用這個設定作為最少等待期間(即使它偵測到頁面已載入),但是如果它偵測到頁面尚未載入,則會等待超過這個時間。 提示: 如果在檢閱「探索」資料時,您發現 AppScan 無法在頁面上執行所有可行的動作,可能表示它的動態等待時間太短。如果您啟用瀏覽器,也可以在掃描期間看到這個項目:
註: 變更此設定可能會影響「探索」時間,因此您可能也會想要考量增加「探索」逾時值(上述)。 |
動態頁面 | |
自動偵測動態頁面載入 | 依預設,AppScan 會主動偵測動態頁面內容並據以處理頁面。在少數情況下,這樣可能會讓頁面無法正確載入,因而影響掃描涵蓋範圍。 提示: 如果要識別此問題:
|
過濾器 | |
在相同的 DOM 元素上略過動作 | AppScan 根據各種準則識別已在先前的頁面上執行的動作。如果您的網站由於其 DOM 元素,包括看起來似乎是相同的不同動作,AppScan 可能會錯誤地略過它們。如果發生這種情形,請清除此勾選框。 註: AppScan 確實實際重複幾次相同的動作,驗證它們確實是相同的,然後再決定略過未來的反覆運算。 |
使用機器學習來分析和略過冗餘動作 | AppScan 使用「機器學習」有效地改善「探索」階段。AppScan 可以預測哪些動作可能導致網站的已探索部分,讓其可以避開它們。 如果您的網站包括許多頁面,它們的不同之處只有內容,這個功能可以大幅增加網站涵蓋範圍。精確的獲益將取決於網站而有所不同。 |
要略過的動作 | 這是 AppScan 要忽略的動作清單,因為這些動作可能會對掃描(甚至是應用程式)造成負面影響。要略過的動作會根據動作之 DOM 元素的 Id 、name 或 ng-model 屬性加以識別。只要任何動作的 DOM 元素屬性 Id 、name 或 ng-model 包含清單中的其中一個字組,就會將該動作從掃描過濾掉。您可以在此清單中新增、編輯和刪除項目。 |
要求型
- JavaScript™ 選項決定 AppScan 應該忽略或掃描這些 Script。
- 探索模式決定 AppScan® 是否探索完一頁的所有鏈結,再繼續下一頁,或一找到新鏈結,就加以探索。
- WebSphere Portal 用來配置用戶端,以辨識特定的伺服器編碼,以及傳送特定的 user-agent 標頭。
設定 | 詳細資料 |
---|---|
JavaScript™ | |
剖析 JavaScript™ 程式碼來探索 URL | AppScan® 會將 JavaScript™ 程式碼當作文字資料來剖析,以收集鏈結。 |
探索模式 | |
幅度優先 | (預設值)AppScan® 會一頁一頁探索,探索完一個頁面的所有鏈結,再繼續下一頁。 除非您知道應用程式要求使用者依照特定順序來造訪鏈結的限制,否則,建議您不要變更這個選項的預設選擇(幅度優先)。 |
深度優先 | AppScan® 會一個鏈結、一個鏈結地探索,一找到新鏈結,就加以探索 如果您將「探索方法」變更為深度優先,您也必須將 AppScan® 變更為在「探索」期間只用一個執行緒(在「配置」>「通訊與 Proxy」視圖)。 |
WebSphere® 入口網站 |
|
Enable WebSphere® 入口網站掃描 |
如果網站是 WebSphere® Portal 網站,AppScan® 需要從網站取得 URL 解碼資訊以便使掃描更有效率,並建置好用的應用程式樹狀結構。如果要啟用解碼,請選取啟用 WebSphere Portal 掃描。 如果環境定義根目錄 URL 未遵循預設格式,請按一下新增環境定義根目錄 URL,來新增一或多個的環境定義根目錄 URL。
提示: 如果您不確定您的入口網站環境定義根目錄 URL 為何,請執行下列動作:
提示: 當掃描 WebSphere® Portal 網站時,建議使用預先定義的 WebSphere® Portal 掃描範本,這個範本是針對此用途而配置的。 |