Proxy 工作流程
Ogma 的 Proxy 工作流程從擷取開始,以可重複使用的證據結束。核心檢視依滲透測試人員處理流量的過程組織:探索、檢查、測試、確認與報告。
工作區配置
| 區段 | 檢視 |
|---|---|
| 總覽 | 網站地圖、端點、測試範圍、篩選條件 |
| 代理伺服器 | 攔截、HTTP 歷程記錄、WS/SSE 歷程記錄、比對與取代 |
| 測試 | 重送、自動化、工作流程、環境 |
| 實用工具 | 掃描器、OAST、解碼器、比較、隨機性分析器、競爭條件/請求走私、筆記與權杖工具 |
| 分析 | 搜尋、檢測發現、匯出 |
| 工作區 | 檔案、外掛 |
HTTP 歷程記錄
HTTP 歷程記錄是主要的證據表格。使用它可以:
- 檢查請求與回應的標頭及本文。
- 依方法、主機、路徑、狀態、來源、標籤、本文內容與耗時篩選。
- 為項目加上標籤或著色,以利分級處理。
- 將請求傳送至重送、自動化、掃描器、檢測發現或外部匯出。
- 隱藏雜訊較多的靜態資源,同時保留底層擷取資料。
建議工作流程:
- 擷取具代表性的使用者流程。
- 篩選至目前啟用的測試範圍。
- 為驗證、狀態變更、上傳、管理與 API 請求加上標籤。
- 將高價值請求傳送至重送。
- 將已確認問題連同關聯證據整理成檢測發現。
攔截
攔截會在轉送前暫停符合條件的流量。
需要以下操作時可使用攔截:
- 在請求抵達目標前修改請求。
- 丟棄不需要的請求。
- 在精確的狀態轉換時觀察應用程式行為。
- 以受控流量測試請求走私、競爭條件或授權邊界。
讓佇列保持在合理範圍內。若攔截佇列已滿,Ogma 會轉送新流量以維持工作流程,而不會無限期阻擋用戶端。
比對與取代
比對與取代會自動修改通過 Proxy 的流量。
常見用途:
- 加入測試標頭。
- 取代 Bearer 權杖或 Cookie。
- 強制設定功能旗標。
- 標準化雜訊較多的標頭。
- 注入追蹤標頭以關聯記錄。
使用精確的比對條件。過於寬泛的規則可能破壞無關流量,也會讓檢測發現更難重現。
WebSocket 與 SSE
Ogma 將 WebSocket 與伺服器傳送事件流量,和 HTTP 請求 / 回應列分開追蹤。
使用 WS/SSE 歷程記錄可:
- 檢查連線中繼資料。
- 檢視訊息酬載。
- 搜尋串流內容。
- 需要重新連線或測試訊息變體時,將 WebSocket 流程傳送至 WS 重送。
網站地圖與端點
盡早並經常使用這些概覽檢視:
- 網站地圖顯示擷取的主機 / 路徑結構。
- 端點顯示從 JavaScript、回應與擷取流量發現的 API 路徑及路由。
這些檢視有助於在進入主動測試前,識別尚未測試的區域。
搜尋與篩選條件
Ogma 支援 HTTPQL 風格篩選。使用已儲存篩選器進行可重複的分級處理查詢。
範例:
text
req.host:example.com AND resp.code:500text
req.path.cont:"/admin" OR req.path.cont:"/api/"text
resp.header["set-cookie"].exists語法請參閱 HTTPQL 與 StreamQL。
檢測發現
檢測發現是報告層。良好的檢測發現應包含:
- 簡短標題。
- 嚴重程度與信心程度。
- 受影響的主機、路徑或功能。
- 來自 HTTP 歷程記錄、重送、自動化或 WebSocket 流量的關聯證據。
- 重現步驟。
- 影響與修復建議。
掃描器輸出只是起點。匯出檢測發現前,請關聯清楚的請求與回應證據。