DOM Invaderの設定メニューにアクセスするには、ブラウザの右上にあるBurp Suiteのロゴをクリックし、DOM Invaderタブに切り替えます。
Miscには、次のオプションがあります。
Webサイトによっては大量のメッセージが発生するため、ノイズが多くなりテストが困難になることがあります。この設定を有効にするとDOM Invaderは、各エントリのスタックトレースを比較し、コード内で既存のエントリと同じ場所を指しているものを非表示にします。
この設定を有効にするとDOM Invaderは、ページが読み込まれると同時に、クリックイベントとマウスオーバーイベントをすべての要素で自動的に発生させます。これらのイベントのいずれかが発生したときにのみ、挿入されたペイロードがシンクにたどり着くような場合に便利です。
一部の操作により、クライアント側で別のページにリダイレクトされることがあります。リダイレクトされると、DOM Invaderが見つけたソースとシンクがクリアされ、新しいページで見つかったソースとシンクに更新されてしまうため、テストに支障をきたす可能性があります。
この設定を有効にすると、DOM Invaderはクライアント側のリダイレクトをブロックして、同じページにとどまります。ただし、javascript:
URLへのリダイレクト、Inject URLボタンによるリダイレクトは、引き続き通常通り動作します。
リダイレクト防止設定でクライアント側のリダイレクトを完全にブロックする代わりにこの機能を有効にすると、リダイレクトが行われるコードの直前にブレークポイントを設定できます。現在のところ、Chrome標準のデベロッパーツールでは不可能です。
ブレークポイントを追加すると、ブラウザのデベロッパーツールでコールスタックを見ながら、どこでリダイレクトが発生しているかを確認でき、デバッグに役立ちます。
この設定を有効にするとDOM Invaderは、ページ上で特定されたソースに自動的にカナリアを挿入します。各シンクにたどり着くソースを簡単に識別できるように、各ソースのカナリアに一意な文字列を追加します。
実際には、あちこちにカナリアを挿入すると、サイトが正常に動作しなくなります。DOM Invaderでは、カナリアを挿入するパラメータやソースをカスタマイズできるため、必要に応じてこの動作を微調整できます。この設定の横にある歯車のアイコンをクリックすると、次の調整ができます:
特定のソースを無効化し、DOM Invaderがそれらをスキップするようにします。問題のあるソースを徐々に排除し、この機能をより効果的に使うとよいでしょう。また、特定のソースに集中するために、他のソースを無効にもできます。これにより、新しいページを読み込むたびに手動でカナリアをソースにペーストする手間を省けます。
DOM Invaderがカナリアを挿入する特定のパラメータを、カンマ区切りで指定します。
DOM Invaderがソース、シンク、Webメッセージを発見するたびに、カスタムコールバック関数を実行するように設定できます。独自のカスタムコールバックも作成できますし、デフォルトも使用できます。デフォルトのコールバックは、コンソールにログを記録するだけで、結果のエクスポートに使えます。
あるいは、DOM Invaderが制御可能なシンクを発見したときに、スクリプトの実行を一時停止するデバッガステートメントをコールバックに含めると便利です。これにより、コールスタックの調査が可能です。
デフォルトのコールバック関数はすぐに使えるようになっていますが、次のように有効化する必要があります:
DOM Invaderの設定メニューから、メインのDOM Invaderスイッチの横にある歯車のアイコンをクリックすると、ソースとシンクの設定が表示されます。
コールバックを設定したい結果の種類に応じて、Sources、Sinks、Messageのいずれかのタブを選択します。
コールバック設定ボタンをクリックすると、DOM Invaderのデフォルトのコールバック関数が表示されます。初期状態では無効化されています。
スクリプトのあるテキストフィールドをクリックして、スクリプトを有効にします。
スクリプトはそのままか、必要なら変更を加えてから、Saveをクリックします。
Reloadをクリックすると、ブラウザが更新されます。これは、変更を有効にするために必要です。
DOM Invaderを通常通り使用し、コールバックが期待通りに動作することを確認します。
この設定を有効にするとDOM Invaderは、レスポンスにPermissions-Policy
ヘッダが存在する場合、自動的に除去します。
一部のWebサイトでは、DOM Invaderにとって不可欠な同期XHRなどの機能をブロックするディレクティブを、Permissions-Policy
ヘッダに設定しています。その場合、DOM Invaderはコンソールで通知し、このオプションを有効にするよう促します。