目標是您要使用 Acunetix 掃描的網站和 Web 應用程式。在 Acunetix Online 中,您還可以將網路資產加入為目標。您必需要在 Acunetix 中進行設定目標,然後才能進行掃描。設定完成後,可以根據需要隨時掃描目標。
加入目標
切換到 Add Targets 頁面加入新網站以供掃描
- 從側邊欄的 Targets 下拉式表中選擇 “Add Targets”
- 對於您要添加的每個目標:
- 提供要掃描的資產位置
- 輸入簡短的描述以便您輕鬆辨識此目標(可選)
- 如果您需要添加另一個目標,請點擊 Add another Target 按鈕
- 在完成後點擊 “Save” 按鈕
- 繼續為新目標配置其他設定
透過 CSV 檔匯入目標
如果您的目標已在另一個應用(例如資產管理程式)中配置,您可能希望從第 3 方應用中導出目標並將它們導入 Acunetix。您可以使用 .csv 文件將多個目標導入 Acunetix,這將節省目標配置時間。進行如下操作:
- 瀏覽 Acunetix UI > Targets > Add Targets
- 點擊 Import CSV 按鈕
- 選擇您要匯入的 CSV 檔案,這個檔案應該要有以下格式:
- 位置, 描述
例如:http://testphp.vulnweb.com, PHP 測試網站
- 位置, 描述
- 點擊 Import 按鈕
- 確認是否已導入所有目標,然後繼續為這些目標進行其他設置。
目標群組
可以對目標進行分組以便於管理。例如,在“Vulnerabilities”頁面中,您可以過濾某個目標組的漏洞,或者在“Scan”頁面中,您可以過濾特定目標組的掃描。用戶的帳戶也可以訪問特定的目標組。
您首先需要創建目標群組,之後,您可以為目標群組配置目標組成員資格。
設定基本目標選項
您的目標的基本詳細訊息顯示在“Target Settings”頁面的頂部。
業務重要程度
分配不同級別的業務重要程度(Low、Normal、High、Critical)預設為Normal。這將使您可以根據此指標過濾掃描和漏洞,讓您在更專注於網絡清單中更重要的項目。
預設掃描設定檔
每次對目標進行掃描時,您都可以指定要使用的掃描配置文件,預設的掃描配置文件是「Full Scan」;您也可以更改特定目標的預設掃描配置文件。例如:如果您認為您的目標之一是低業務關鍵性目標,您可以將該目標的默認掃描配置文件設置為高風險配置文件; 進行此更改後,每次在此目標上啟動掃描時,默認掃描配置文件將設置為高風險。
掃描速度
您的目標可能會受到高速或高強度(同時請求)掃描的不利影響,或可能觸發使您的掃描結果無效的防禦機制。 您可以將掃描速度調整為以下之一:
- 快速(默認)— 10 個並發請求,無限制
- 中等 — 5個並發請求,每20毫秒發送一次請求
- 低速 — 2 個並發請求,每 50 毫秒發送一次請求
- 慢速 — 1 個並發請求,每 120 毫秒發送一次請求
連續掃描
您可以在目標上啟用連續掃描,讓 Acunetix 每天掃描目標並立即報告任何新漏洞。 Web 開發人員對站點進行更新或管理員對 Web 服務器的配置進行更改可能會引入新的漏洞。此外,經常進行 Acunetix 更新以檢測新漏洞。
連續掃描每週執行一次完整掃描。此掃描由每日快速掃描增強,該掃描僅掃描嚴重漏洞。持續掃描更新目標的漏洞,可以從漏洞頁面訪問這些漏洞。當發現新漏洞時,您將通過電子郵件和通知區域收到通知。
在目標上運行第一次掃描並識別然後修復任何未解決的漏洞後,連續掃描選項功能可幫助您確保它們保持安全。
設定網站登入
您可能需要掃描 Web 應用程序中的受限區域。如果需要設定用於訪問受限區域的訊息可以從
Target 設定 -> 常規設置 -> 站點登錄選項進行配置。
自動登入
在大多數情況下,您可以選擇讓 Acunetix 嘗試自動登錄到該站點。 這適用於大多數使用簡單登錄過程的 Web 應用程序。 您需要提供用戶名和密碼才能訪問受限區域。 掃描器將自動檢測登錄鏈接、註銷鏈接和用於保持會話活動的機制。
使用登錄順序記錄器
對於可能使用更複雜的登錄機制的更複雜的 Web 應用程序,您需要啟動登錄順序記錄器並記錄登錄順序(*.lsr 文件),然後可以將其上傳並與您的目標設置一起保存。
登錄順序用於在爬取和掃描階段執行以下任務:
- 訪問基於表單的密碼保護區
- 重播登錄操作以驗證網站或 Web 應用程序
- 限制爬蟲和掃描程序可以訪問的操作(例如登出連結)
- 標記每次訪問都需要手動干預的操作,例如含有驗證碼、一次性密碼和雙重身份驗證的頁面。
可以按照以下步驟建立新的登錄順序:
- 從左側選單導覽到 Targets 頁面
- 選擇您要為其記錄登錄紀錄的目標
- 啟用 “Site Login” 面板,然後選擇 “Use pre-recorded login sequence”
- 點擊 “New” 連結啟動 LSR
默認情況下,LSR 將瀏覽到您為目標 URL 所配置登錄順序的。
您可以開始瀏覽登錄頁面並成功登錄。請記住使用正確且有效的數據。右側的面板將開始記錄的每個操作。由於 LSR 記錄的是操作而不是 HTTP 請求,因此它也適用於使用反 CSRF 的 Web 應用程序。登錄後,您可能希望重播操作以確保登錄紀錄是有效的並可以成功登錄。可以透過點擊螢幕左下角的播放來完成。
右側窗格將顯示已記錄的操作列表。點擊特定操作將於螢幕右下方顯示操作屬性。點擊下一步以記錄限制。
手動干預
🔍 Acunetix Online 資訊 |
在 Acunetix Online 中此功能不可用。 |
一些登入頁面需要額外的步驟才能完成登入—例如驗證碼、雙重身份驗證(2FA) 或多重身份驗證(MFA)以及其他一次性密碼(OTP)機制。當您記錄您的登入時,您如果遇到需要手動干預以執行無法自動化的步驟時,請選擇“手動”選項。
LSR 將對此進行追蹤;當您執行掃描時,Acunetix 將暫停並通過彈出通知提示您進行手動干預。
完成手動干預操作後,請確保刪除由 LSR 創建的屬於手動干預過程的任何多餘操作,然後點擊(delete) 圖示後,您可以繼續記錄剩餘的登入操作。
紀錄限制
限制指示 Crawler 和 Scanner 在掃描期間不要跟隨特定鏈接。通常,您會希望限制登出或其他有可能破壞有效會話的鏈接,以確保掃描儀在掃描期間不會登出。除了標準的 GET 和 POST 請求之外,LSR 還支持對 RESTful Web 服務中常用的 HTTP 方法的限制,例如 PATCH、PUT、DELETE。
如果您要限制的鏈接包含 nonce 或 one-time token,您可以使用通配符 (*) 來限制具有變化值的連結。可以按照以下步驟設置限制。
- 點及您要限制的連結。
- 點擊連結後,將彈出一個對話框,詢問您是否希望 Acunetix
- 攔截此請求(以其確切形式或使用通配符)
- 轉發與此請求匹配的此類請求
- 轉發所有請求,意味著不會有任何限制
- 在本例中,我們不需要對 Restriction 進行任何修改,因此我們可以選擇第一個選項 – Restrict request using exact match
- 限制將被記錄,並顯示在右側的面板中。您可以根據需要添加任意數量的限制。
在最後一步,LSR 將嘗試自動識別有效會話。會話模式是必需的,以便掃描程序能夠知道無效(登出)和有效(登入)會話之間的區別。如果掃描器知道會話已經失效,它可以重播登入紀錄並再次驗證會話。
這是通過比較 Web 應用程序的登錄和註銷狀態來完成的。 可能存在無法自動識別差異的情況。 在這種情況下,您需要通過導航到頁面來配置它並讓 LSR 識別模式,或者也可以手動完成。 除了依賴 cookie 的身份驗證機制外,LSR 還支持依賴 HTML5 LocalStorage 的身份驗證機制。
您可以在瀏覽時識別有效的身份驗證會話:
- 這可以通過瀏覽網站的已驗證區域來完成,該區域將根據登入或登出的用戶返回不同的響應。
- 在範例中,如果用戶登入網站,響應中應包含“Logout”;如果在響應中未找到,則用戶未登錄。
手動配置用戶會話模式
如果 Acunetix 仍然無法識別用戶的會話,您將不得不手動配置一個。重要的一點是,Web 服務器發送的響應在登錄用戶和未登錄用戶之間會有所不同。您的任務是確定掃描儀可以用來驗證它是否登錄到該站點。
當您識別並配置會話模式後,可以通過點擊右側面板上方的「Check Pattern」進行驗證。
點擊完成後,您將返回到「Target Information」頁面。 點擊「Save」按鈕將登錄紀錄文件上傳到「Target Information」頁面。
會話模式驗證有 3 個主要選項。
選項 1:識別其中一個網頁的視覺差異 – 例如,某些網頁僅對登錄用戶顯示“您的購物車”連結;有些會顯示登入用戶的名稱(如果沒有用戶登錄,顯然不會出現)。在這種情況下,您可以透過在 Session Validation Request 文字方塊中簡單地輸入如下內容來指示 LSR 要轉到哪個頁面:GET https://juice-shop.herokuapp.com/profile HTTP/1.1
然後將「Session VALID if:」的下拉式選單選到「pattern is found in response」以針對登錄的特定文字或用戶名:
選項 2:識別已登錄與未登錄網頁中的 HTTP 響應標頭的差異。您可以使用 Google Chrome 進行檢查,例如使用“檢查”功能;“Network”選項卡將顯示“Response Headers”部分,該部分可能包含標頭,例如“X-Logged-In: true”,但會不存在或具有不同的值,例如“X-Logged-In: false”:
現在,您可以將標記為「Session VALID if:」的下拉式選單選到「pattern is found in headers」為已識別的標頭值:
選項 3:標識在登錄時接收響應編號(通常為 200)和未登錄時接收其他響應的網頁,例如 404(未找到)或 500(服務器錯誤)。將標記為「Session VALID if:」的下拉式選單選到「status code is」為有效值:
OAuth Login
Acunetix 支援 OAuth2 身份驗證機制,允許您為需要 OAuth2 認證的 Web 應用程式配置目標。可以按照以下步驟創建新的 OAuth 登錄紀錄。
- 從左側選單進入「Targets」
- 選擇您要為其記錄登錄紀錄的目標
- 啟用「Site Login」,並選擇「Use OAuth for this site」;這將會暴露配置字段。
- 將 Grant Type 設置為 OAuth2 Authentication Flow 機制;另外 Grant Type 支持授權類型有:
- Authorization Code
- mplicit
- Client Credentials
- Password Credentials
- 為「Access Token URL」和「Authorization URL(僅適用於“Authentication Code”授權類型)」設置認證提供者;您可以從身份驗證提供商(例如 Google 或 Facebook)獲取 URL。
- 為您的目標設置「Redirect URL」; 這是用戶在使用授權完成登錄後將被重定向到的 URL
- 為您的目標設置「Client ID」和「Client Secret」;這些是當您向認證提供者 Web 應用程序以獲取其登錄功能時,認證提供者分配給您的 Web 應用唯一值,
- 某些 OAuth2 身份驗證流程需要填寫「State」欄位。
- 將「Scope」欄位設置為請求權限的以空格分隔的元素列表。
- 某些 OAuth2 身份驗證需要填寫“Username”和“Password”欄位。
還支持需要 3-legged Sequence 的 OAuth2 身份驗證流程,例如在單獨的步驟中填寫用戶名和/或密碼欄位,或者需要點擊「確認」或「允許」按鈕。點擊「3-legged Sequence」按鈕後將啟動 Login Sequence Recorder 以顯示 OAuth2 Authentication Provider 的對話框。
當您完成登錄序列後,窗口將自動關閉。
典籍頁面上方的“Save”按鈕以保存目標設置。
使用 Business Logic Recorder
當今的許多 Web 應用程序使用動態擴展或多步驟或多頁表單。這意味著向用戶呈現「第一階段」表單,當用戶輸入完第一階段表單的訊息時,該訊息將決定表單在下一步或頁面中將如何變化。
我們經常在瀏覽 Web 應用程式和高互動的購物車中看到這些類型的表單。現實情況是,這些多步驟表單正變得越來越普遍,而業務邏輯記錄器提供了創建一系列操作所需的工具,以供掃描儀遵循以正確導航多部分表單。
產製並安裝 AcuSensor
AcuSensor 能夠識別您網站上的所有頁面、增加有關檢測到的漏洞資訊並減少誤報,以改進 Acunetix 提供的掃描結果。有關將 AcuSensor 部署到目標 Web 應用程序的更多詳細信息,請查看以下部分。
重設 AcuSensor Token
如果出於某些原因您希望更改 AcuSensor 的內置令牌(類似於唯一金鑰或密碼)(例如,使舊令牌無效,或為多個目標使用相同的 AcuSensor 代理文件) ,您將需要:
- 編輯 Targets
- 瀏覽到下半部的 Acunetix 面板
- 點擊 Reset for Target / Change 按鈕
現在目標中的 AcuSensor 將產生一個全新且唯一的令牌 – 這意味著您需要在開始新掃描之前將 AcuSensor 重新部署到目標 Web 應用程序。
掃描易受攻擊的軟件組件 – SCA
軟件組合分析(SCA)是應用程序安全測試的重要組成部分。當今的 Web 應用程式大多使用多個開源套件來提供豐富的功能。與所有軟體一樣,開源組件也容易受到漏洞的影響,並且每個套件都有一個用於追蹤版本號的開發路徑。SCA 是分析應用程序的源代碼以識別開源組件及其版本號的過程,並將此列表與包含已知組件的主數據庫與版本號和漏洞暴露進行比較。
使用 SCA 功能掃描目標
Acunetix 為 SCA 伺服器提供開源的主資料庫,作為 Acunetix 線上服務的一部分。在進行 SCA 分析之前,您必須確保為您的 Acunetix 安裝啟用 Acunetix 線上服務;轉到您的個人資料頁面以檢查:
當使用 Acunetix 掃描應用程式時,部署到應用程式的 AcuSensor 代理將分析應用程式,建立正在使用的組件清單,並將清單提交給 SCA 服務器進行比對;如果在 SCA 伺服器中發現任何具有已知漏洞的組件,它將回報給 Acunetix。
其他進階設定
對於每個 Target,您可以配置其他選項,包括:
- Crawling 選項,例如使用自訂的 User-Agent
- 掃描某個 Target 時要排除的路徑
- HTTP認證
- 用戶憑證
- 自訂標頭
- 自訂 Cookies
- 允許的主機列表,在掃描特定目標時將被掃描。請注意,這些需要預先配置為單獨的目標
- 每個 Target 的知識庫,收集有關 URL、漏洞和其他資訊,這些資訊隨著對目標的每次掃描而累積
- 排除時間設定