
一般的なChrome Debug Protocolタスクを自動化し、コマンドラインからWebアプリケーションのデバッグを支援し、HTTPリクエストとレスポンスを能動的に監視・傍受します。
Pown CDB は Chrome Debug Protocol ユーティリティです。このツールの主な目的は、コマンドラインから Web アプリケーションのデバッグを支援し、HTTP リクエストとレスポンスを能動的に監視・インターセプトするための一般的なタスクを自動化することです。これは、ペネトレーションテストやその他のセキュリティ評価・調査の際に特に有用です。
| スクリーンショット |
|---|
このツールは secapps.com オープンソースイニシアチブの一部です。
___ ___ ___ _ ___ ___ ___
/ __| __/ __| /_\ | _ \ _ \/ __|
\__ \ _| (__ / _ \| _/ _/\__ \
|___/___\___/_/ \_\_| |_| |___/
https://secapps.com
このツールは Pown.js の一部として使用することを想定していますが、独立したツールとして個別に起動することもできます。
まず、通常通り Pown をインストールします:
$ npm install -g pown@latest
Pown から直接起動:
$ pown cdb
このモジュールをプロジェクトのルートにローカルインストールします:
$ npm install @pown/cdb --save
インストール後、pown cli を起動:
$ POWN_ROOT=. ./node_modules/.bin/pown-cli cdb
グローバルの pown を使用してローカルのツールを起動することもできます:
$ POWN_ROOT=. pown cdb
警告: この pown コマンドは現在開発中であり、その結果、互換性を破る変更が行われる可能性があります。
pown cdb <command>
Chrome Debug Protocol ツール
コマンド:
pown cdb launch サーバーアプリケーション(chrome, firefox, opera, edge など)を起動 [エイリアス: start]
pown cdb navigate <url> 指定された URL に移動 [エイリアス: goto, go]
pown cdb network Chrome Debug Protocol ネットワークモニター [エイリアス: net, sniff, proxy, mon, monitor]
pown cdb cookies 現在のページの Cookie をダンプ [エイリアス: cookie]
pown cdb screenshot <file> 現在のページのスクリーンショットを撮影 [エイリアス: capture, shoot, shot]
オプション:
--version バージョン番号を表示 [boolean]
--help ヘルプを表示 [boolean]
pown cdb launchpown cdb launch
サーバーアプリケーション(chrome, firefox, opera, edge など)を起動
オプション:
--version バージョン番号を表示 [boolean]
--help ヘルプを表示 [boolean]
--port, -p リモートデバッグポート [number] [default: 9222]
--xss-auditor, -x XSS 監査機能のオン/オフ [boolean] [default: true]
--certificate-errors, -c 証明書エラーのオン/オフ [boolean] [default: true]
--pentest, -t ペネトレーションテスト向けの推奨設定で起動 [boolean] [default: false]
pown cdb navigatepown cdb navigate <url>
指定された URL に移動
オプション:
--version バージョン番号を表示 [boolean]
--help ヘルプを表示 [boolean]
--host, -H リモートデバッグホスト [string] [default: "localhost"]
--port, -p リモートデバッグポート [number] [default: 9222]
--secure, -s HTTPS/WSS フロントエンド [boolean] [default: false]
pown cdb networkpown cdb network
Chrome Debug Protocol ネットワークモニター
オプション:
--version バージョン番号を表示 [boolean]
--help ヘルプを表示 [boolean]
--host, -H リモートデバッグホスト [string] [default: "localhost"]
--port, -p リモートデバッグポート [number] [default: 9222]
--secure, -s HTTPS/WSS フロントエンド [boolean] [default: false]
--output, -o 出力ディレクトリ / ファイル [array] [default: []]
--blessed, -b blessed ユーザーインターフェースで起動 [boolean] [default: false]
pown cdb cookiespown cdb cookies
現在のページの Cookie をダンプ
オプション:
--version バージョン番号を表示 [boolean]
--help ヘルプを表示 [boolean]
--host, -H リモートデバッグホスト [string] [default: "localhost"]
--port, -p リモートデバッグポート [number] [default: 9222]
--secure, -s HTTPS/WSS フロントエンド [boolean] [default: false]
pown cdb screenshotpown cdb screenshot <file>
現在のページのスクリーンショットを撮影
オプション:
--version バージョン番号を表示 [boolean]
--help ヘルプを表示 [boolean]
--host, -H リモートデバッグホスト [string] [default: "localhost"]
--port, -p リモートデバッグポート [number] [default: 9222]
--secure, -s HTTPS/WSS フロントエンド [boolean] [default: false]
典型的な Web アプリケーションセキュリティエンゲージメント中に Pown CDB をどのように使用するかを見てみましょう。
まず、最新の pown がインストールされていることを確認します:
$ npm install -g pown
pown がインストール済みの場合は、最新バージョンであることを確認します:
$ pown update
Pown CDB を使い始めるには、Chrome デバッグリモートインターフェースが有効で localhost で待受している Chrome ブラウザインスタンス(他のブラウザもサポート)が必要です:
$ pown cdb launch --port 9333
Chrome ブラウザインスタンスが起動したら、pown cdb network ユーティリティでフックします:
$ pown cdb network --port 9333 -b
-b フラグは、curses ベースのユーザーインターフェースで Pown CDB を起動するために使用します:
スクリーンショット
キーコンボ shift + ? を使用して利用可能なショートカットの一覧を表示します:
スクリーンショット
ブラウザを使い始めるとすぐに、Pown CDB がトラフィックを記録し、ユーザーインターフェースに表示します。リクエストをインターセプトするには、キーコンボ ctrl + t を使用します。
スクリーンショット
リクエストはキャプチャされ、デフォルトのシェルエディタ($EDITOR)で開かれます。必要な変更を加えて保存し、終了します。元のリクエストは変更内容に置き換えられます。