自動化
自動化會以受控的酬載變化,多次傳送同一個請求範本,讓你能大規模列舉參數、對輸入進行模糊測試,或測試存取控制。
建立工作階段
- 在 HTTP 歷程記錄或重送中開啟請求。
- 在請求上按一下滑鼠右鍵,選擇傳送至自動化工具,或使用工具列按鈕。
- 請求會開啟為工作階段的範本。之後所有設定都會套用至這個範本。
酬載位置
酬載位置標示酬載的插入點。Ogma 會在每個請求中,以酬載值取代各個標記。
- 在請求編輯器中選取文字,按一下標記選取內容以新增位置標記。
- 按一下標記控制點並選擇移除,即可移除標記。
- 支援多個位置,其行為取決於攻擊模式。
攻擊模式
| 模式 | 行為 |
|---|---|
| 單位置逐一測試 | 一次處理一個位置,依序在每個位置測試所有酬載。請求總數等於酬載數量乘以位置數量。 |
| 全位置同值測試 | 同時在所有位置使用相同的酬載值。 |
| 多清單同步測試 | 平行遍歷多個位置。將清單 A 的第一個酬載與清單 B 的第一個酬載配對,依此類推。最短清單用完時即停止。 |
| 全組合測試 | 測試所有位置的每一種組合。請求數量等於所有清單長度的乘積。請使用較小的清單。 |
| 依序串接 | 從每個回應擷取設定的值,並將其注入下一個請求。開始前,請設定擷取工具、目標位置和迭代次數上限。 |
酬載來源
| 來源 | 說明 |
|---|---|
| 字詞清單 | 載入以換行字元分隔的檔案,或直接貼上值。 |
| 數字 | 產生數字範圍,可設定起始值、結束值和間距。 |
| 空值 | 在設定的迭代次數內,以空字串取代該位置;不會保留原先標記的文字。 |
| 自訂清單 | 直接輸入值,不必使用檔案。 |
比對器
比對器會標註符合條件的結果列。它們不會篩除資料列,而是為每個比對器新增一個布林值欄位。
- 按一下 + 比對器即可新增比對器。
- 使用 AI以自然語言描述條件,或手動設定。
| 比對器類型 | 符合條件的情況 |
|---|---|
| 狀態 | 回應狀態碼等於或不等於指定值。 |
| 大小 | 回應本文長度落在指定範圍內。 |
| 本文內容 | 回應本文包含指定字串,或符合字串或正規表示式。 |
停止條件
停止條件會在比對器觸發時停止執行。
- 使用回應狀態或大小、比較運算子和值,設定停止條件。
- 符合條件的結果會暫停執行;已送出而尚未完成的請求仍可能完成。
當你只需要第一個成功結果,例如有效的認證資訊或成功略過檢查的結果時,這項功能很實用。
擷取工具
擷取工具會從每個回應擷取值,並將其存放在具名欄位中。
- 使用擷取工具取得 CSRF 權杖、工作階段 ID 或 nonce,供串接請求使用。
- 使用 AI描述擷取目標,或手動設定本文正規表示式、本文文字擷取或回應標頭擷取。
- 擷取的值會以欄位形式顯示在結果表格中。
- 使用依序串接模式時,請明確設定用於串接的擷取工具;將結果傳送至另一個工作階段,不會自動為該工作階段建立權杖擷取設定。
結果表格
每個完成的請求都會產生一列。
| 欄位 | 說明 |
|---|---|
| # | 請求序號。 |
| 狀態 | HTTP 回應狀態碼。 |
| 大小 | 回應本文長度,單位為位元組。 |
| 時間 | 往返時間,單位為毫秒。 |
| 酬載 | 這個請求使用的一個或多個酬載值。 |
| 比對器欄位 | 每個已設定的比對器各有一個布林值欄位。 |
| 擷取工具欄位 | 每個已設定的擷取工具各有一個擷取值欄位。 |
按一下任一列,即可在檢視面板中開啟完整請求與回應。
篩選結果
在結果表格上方的篩選列輸入 HTTPQL 運算式,縮小顯示的資料列範圍。例如:
text
result.status.eq:200 AND result.len.gt:500自動化查詢使用 result.* 命名空間。查詢擷取欄位時,請使用對應的 result.extract.<name> 欄位。HTTP 歷程記錄的 req.* 和 resp.* 欄位不能與自動化結果篩選欄位互換使用。
AI 輔助
AI按鈕位於比對器和擷取工具的設定欄位旁。以自然語言描述想偵測或擷取的內容,Ogma 就會產生設定。儲存前請檢查結果。
將結果傳送至其他工具
在任一結果列上按一下滑鼠右鍵,即可:
- 傳送至重送工具 - 在重送中開啟該筆請求與回應,以便手動進一步測試。
- 傳送至新的自動化工作階段 - 使用結果列中的請求,作為新工作階段的範本。
- 複製為 cURL - 將請求複製為 curl 指令。