Caido コマンド
脆弱性診断およびバグバウンティハンティング向けの包括的な Caido ウェブセキュリティテストプロキシコマンドとワークフロー。
インストール
Section titled “インストール”| コマンド | 説明 |
|---|---|
brew install caido | macOS上でHomebrewを経由してCaidoをインストール |
curl -fsSL https://caido.io/install.sh | sh | Linux上にCaidoをインストール |
caido --version | Caidoバージョンを表示 |
caido | Caidoを起動(ウェブUIを 127.0.0.1:8080 で開く) |
caido --port 9090 | カスタムポートでCaidoを起動 |
caido --listen 0.0.0.0 | すべてのインターフェイスでリッスンするCaidoを起動 |
プロキシ設定
Section titled “プロキシ設定”| 設定 | 説明 |
|---|---|
Proxy Address: 127.0.0.1:8080 | デフォルトプロキシリスナーアドレス |
Browser → Settings → Proxy → 127.0.0.1:8080 | ブラウザをCaidoプロキシ使用に設定 |
export http_proxy=http://127.0.0.1:8080 | 環境変数でプロキシを設定 |
export https_proxy=http://127.0.0.1:8080 | 環境変数でHTTPSプロキシを設定 |
curl -x http://127.0.0.1:8080 https://target.com | CaidoプロキシをcURLで使用 |
http://127.0.0.1:8080/ca から CA証明書をインストール | CaidoのCAを信頼してHTTPS傍受を有効化 |
インターセプトモード
Section titled “インターセプトモード”| アクション | 説明 |
|---|---|
>> Forwarding ボタン | キューイングモードに切り替え(インターセプト用) |
|| Queuing ボタン | 現在リクエストをインターセプト中 |
| Forwardボタン | インターセプトされたリクエストをサーバーに転送 |
| Dropボタン | インターセプトされたリクエストを破棄 |
| インターセプトビューでリクエストを編集 | 転送前にリクエストを修正 |
| レスポンスインターセプトを切り替え | サーバーからのレスポンスもインターセプト |
HTTPQLクエリ言語
Section titled “HTTPQLクエリ言語”| クエリ | 説明 |
|---|---|
host eq "target.com" | ホスト名で正確にフィルタリング |
host cont "target" | ホスト名に含まれる文字列でフィルタリング |
resp.status_code eq 200 | レスポンスステータスコードでフィルタリング |
resp.status_code gte 400 | ステータスコード >= 400 でフィルタリング |
req.method eq "POST" | HTTPメソッドでフィルタリング |
req.path cont "/api/" | URLパスに含まれる文字列でフィルタリング |
resp.body cont "password" | テキストを含むレスポンスでフィルタリング |
req.header cont "Authorization" | ヘッダーの存在でフィルタリング |
resp.length gt 1000 | レスポンスサイズでフィルタリング |
host eq "target.com" AND req.method eq "POST" | ANDでフィルタを結合 |
req.path cont "/admin" OR req.path cont "/api" | ORでフィルタを結合 |
キーボードショートカット
Section titled “キーボードショートカット”| ショートカット | 説明 |
|---|---|
Ctrl + R | リクエストをReplayに送信 |
Ctrl + Shift + R | Automateに送信 |
Ctrl + I | インターセプトモードを切り替え |
Ctrl + F | 検索/フィルタを開く |
Ctrl + P | コマンドパレットを開く |
Ctrl + K | クイックナビゲーション |
Tab | パネル間で切り替え |
Escape | 現在のダイアログを閉じる |
リプレイ(リクエストエディタ)
Section titled “リプレイ(リクエストエディタ)”| アクション | 説明 |
|---|---|
| 右クリック → Send to Replay | 任意のリクエストをReplayタブに送信 |
選択中のリクエストに Ctrl + R | クイックでReplayに送信 |
| Replayでヘッダーを修正 | リクエストヘッダーを編集 |
| Replayでボディを修正 | リクエストボディを編集 |
| Replayの送信ボタン | 修正されたリクエストを実行 |
| Replayで新しいタブを作成 | 複数のリプレイセッションを保持 |
| リプレイタブを名前変更 | テストセッションを整理 |
オートメーション(ファジング)
Section titled “オートメーション(ファジング)”| アクション | 説明 |
|---|---|
Ctrl + Shift + R | リクエストをAutomateに送信 |
| テキストを選択 → プレースホルダーを挿入 | §でインジェクションポイントをマーク |
| ペイロードリストを追加 | ファジング用のワードリストを設定 |
| ペイロードタイプ: Simple List | 値のリストを使用 |
| ペイロードタイプ: Sequence | 番号付きシーケンスを使用 |
| ペイロードタイプ: Recursive | 再帰的なペイロード生成 |
| レート制限を設定 | リクエストスピードをコントロール |
| オートメーション開始 | 自動化テストを開始 |
| ステータスコードで結果をソート | レスポンスを分析 |
| レスポンスの長さでフィルタリング | 異常を検出 |
スコープ設定
Section titled “スコープ設定”| アクション | 説明 |
|---|---|
| Settings → Scope → Add host | テストスコープにターゲットを追加 |
*.target.com | すべてのサブドメインのワイルドカードスコープ |
target.com:443 | 特定ポート付きスコープ |
| スコープフィルタリングを有効化 | スコープ内のトラフィックのみ表示 |
| スコープ外のホストを除外 | プロキシ履歴からノイズを除外 |
ワークフローオートメーション
Section titled “ワークフローオートメーション”| アクション | 説明 |
|---|---|
| 新しいワークフローを作成 | カスタムオートメーションパイプラインを構築 |
| Passiveノードを追加 | マッチングトラフィックでトリガー |
| Activeノードを追加 | 実行中にリクエスト/レスポンスを修正 |
| Convertノードを追加 | フォーマット間でデータを変換 |
| ワークフローノードをチェーン | マルチステップのオートメーションを構築 |
| ワークフローをエクスポート | ワークフロー設定を共有 |
| ワークフローをインポート | 共有ワークフローを読み込み |
アシスタント(AI統合)
Section titled “アシスタント(AI統合)”| アクション | 説明 |
|---|---|
| アシスタントパネルを開く | AI搭載の分析にアクセス |
| リクエスト/レスポンスについて質問 | トラフィックのAIインサイトを取得 |
| 攻撃提案を生成 | AI推奨のテストベクトル |
| 脆弱性パターンを分析 | AI支援の脆弱性検出 |
| レスポンス動作を説明 | アプリケーションロジックを理解 |
プロジェクト管理
Section titled “プロジェクト管理”| アクション | 説明 |
|---|---|
| File → New Project | 新しいテストプロジェクトを作成 |
| File → Open Project | 既存のプロジェクトを開く |
| File → Save Project | 現在のプロジェクト状態を保存 |
| ファインディングをエクスポート | 発見された問題をエクスポート |
| ファイルからリクエストをインポート | 保存されたリクエストを読み込み |
| リクエストにタグを付与 | カスタムタグで整理 |
| リクエストにメモを追加 | ファインディングを記録 |
サイトマップ
Section titled “サイトマップ”| アクション | 説明 |
|---|---|
| View → Sitemap | サイトマップパネルを開く |
| ドメインツリーを展開 | 発見されたエンドポイントを表示 |
| レスポンスタイプでフィルタリング | 特定のコンテンツタイプを表示 |
| サイトマップをエクスポート | 発見された構造を保存 |
| 隠れたエンドポイントを特定 | 自動発見されたパスをレビュー |
プラグインシステム
Section titled “プラグインシステム”| アクション | 説明 |
|---|---|
| Settings → Plugins | インストール済みプラグインを管理 |
| プラグインストアを閲覧 | コミュニティプラグインを検索 |
| プラグインをインストール | 新しい機能を追加 |
| カスタムプラグインを作成 | Caido SDKで構築 |
caido plugin init <name> | 新しいプラグインプロジェクトをスカフォルド |
caido plugin build | 配布用プラグインをビルド |
ヒントとベストプラクティス
Section titled “ヒントとベストプラクティス”| ヒント | 説明 |
|---|---|
| スコープフィルタリングを使用 | ターゲットに焦点を絞ってノイズを削減 |
| 興味深いリクエストにタグを付与 | 後で確認するためにファインディングをマーク |
| HTTPQLフィルタを使用 | 大規模トラフィック履歴を効率的に検索 |
| ワークフローをチェーン | 繰り返しのテストタスクを自動化 |
| ファインディングを定期的にエクスポート | 発見された脆弱性をバックアップ |
| キーボードショートカットを使用 | テストワークフローを高速化 |
| CA証明書を最初に設定 | HTTPS傍受が確実に機能することを確認 |
| リプレイを手動テストに使用 | リクエストを効率的に繰り返す |