1. サポートセンター
  2. ドキュメント
  3. デスクトップ版
  4. ウェブサイトのスキャン
  5. 診断オプション

診断オプション

診断スキャン中のBurp Scannerの挙動を設定する多数のオプションがあります。これらはスキャン開始時にその場で設定でき、またBurpの設定ライブラリで管理もできます。

診断の最適化

診断の目的や対象アプリケーションの性質に応じて、診断ロジックの挙動を調整できます。

次のオプションがあります:

報告される問題

Burpがチェックする項目を制御します。

個別、または検出したアイテムに関連する診断アクティビティの性質に従って、問題タイプを選択できます。個々の項目を選択する場合、一部の項目では使用する検出方法も選択できます。関連する項目のコンテキストメニューから、"検出手法を編集"を選択してください。

各チェックを実行すると、生成されるリクエストが増え、各診断に時間がかかります。アプリケーションの技術に関する知見を元に、個々の項目のオン/オフを切り替えられます。例えば、アプリケーションがLDAPを使用していないと分かっている場合、LDAPインジェクションをオフにできます。または、アプリケーションが使用しているバックエンドデータベースが分かっている場合、他のデータベースタイプに固有のSQLインジェクション検出手法をオフにできます。

注: "アクティブ"にラベルされた項目が有効な場合、これらの問題を発見するよう設計されたリクエストをアプリケーションに送信します。選択された項目によっては、これらのリクエストは悪意のあるものと見なされたり、アプリケーションやそのデータに損害を与える可能性があります。

診断中のアプリケーションエラーの処理

スキャンの診断フェーズで発生するアプリケーションエラー(接続エラーや送信タイムアウトなど)の処理方法を制御します。

次のオプションを設定できます:

空白のままにしておくと、無効にできます。

挿入ポイントタイプ

診断する各HTTPリクエストのどこに、Scannerが挿入ポイントを配置するかを制御します。

挿入ポイントの配置位置はきめ細かく設定でき、注意深く設定すれば対象のアプリケーションの性質に合わせた診断の調整ができます。挿入ポイントの設定は、スキャンの速度と網羅性のトレードオフになります。

次のカテゴリーの挿入ポイントを選択できます:

注: Burpに自動的に挿入ポイントを割り当てさせるだけではなく、全てカスタマイズできるため、リクエスト内の任意の位置を攻撃対象として指定できます。この機能を使うには、リクエストをIntruderに送信し、ペイロードポジションタブで通常の方法で挿入ポイントを定義し、Intruderメニューオプションから"定義した挿入ポイントを診断"を選択します。またはBurp Extenderを使って、プログラムでカスタムの挿入ポイントの指定もできます。

パラメータ位置の操作オプション

これらの設定は、パラメータの元の位置でのテストに加え、リクエスト内の別の場所にパラメータを移動する設定です。例えば、各URLパラメータをメッセージボディに移動し再テストができます。または、各ボディパラメータをcookieに移動し、再テストができます。

この方法でパラメータを移動すると、防御フィルターをバイパスできることがよくあります。多くのアプリケーションやアプリケーションファイアウォールは、パラメータがリクエスト内の期待している場所にあると仮定してパラメータごとに入力検証をします。パラメータを別の場所に移動すると、この検証が回避できます。アプリケーションがその後、メインロジックの実装でそのパラメータを取得する場合、パラメータの場所に依存しないAPIを使用している可能性があります。よって、通常は処理される前にフィルターされてしまう入力を、脆弱なコードパスに到達させるのにパラメータの移動は有効です。

パラメータ位置の変更は、次のオプションがあります:

パラメータ位置を変更すると、各リクエストパラメータが複数回スキャンされることになるため、より多くのスキャンリクストになります。

挿入ポイントの無視

Burpが特定の診断を省略するリクエストパラメータを指定します。サーバサイドインジェクションチェック(SQLインジェクションなど)をスキップする、および全てのチェックをスキップする設定が別にあります。

サーバサイドインジェクションチェックは、様々なサーバ上の脆弱性を手探りで調べるために複数のリクエストを送信するので、比較的時間がかかります。リクエスト内の特定のパラメータに脆弱性がないと考える場合(例えば、プラットフォームやWebサーバのみが使用する組み込みパラメータなど)、Burpにこれらのテストをしないよう指示できます。(クロスサイトスクリプティングのようなクライアント側のバグのテストは、パラメータが脆弱ではない場合にスキャン中の負荷が最小限になるよう抑えられています。)

テストしたくないアプリケーションコンポーネントに処理されるパラメータや、変更するとアプリケーションが不安定になると分かっている場合は、全てのチェックの省略が便利です。

各一覧のアイテムでは、パラメータタイプ、マッチさせるアイテム(名前または値)、マッチの種類(リテラル文字列または正規表現)、マッチさせる文字列を指定します。

URLパス内の(スラッシュで区切られた)それぞれのURLパスフォルダがパラメータになっている場合があります。これを行うには、検索アイテムのドロップダウンから"URLパスのフォルダ"を、名前または値のドロップダウンで"名前"を選択し、テストから除外したいURLパスのインデックス番号(1オリジン)を指定します。URLパスのフォルダパラメータは、値でも指定できます。

頻繁に発生する挿入ポイント

頻繁に発生する挿入ポイントでBurp Scannerに重複を避けさせるかどうかを設定できます。設定された場合、Burpは意味がなさそうな(頻繁に発生するが問題が見つかっていない)ことが判明している挿入ポイントを特定し、それらの挿入ポイントにより軽量な診断をするようになります。

この最適化が適用される挿入ポイントのタイプを選択できます。

その他の挿入ポイントオプション

ネストした挿入ポイントを使用するかどうか選択できます。挿入ポイントの元の値が認識可能な形式のデータを含む場合に、ネストされた挿入ポイントが使われます。例えば、URLパラメータにBase64エンコードされたデータがあり、デコードした値にJSONやXMLデータが含まれているなどです。ネストされた挿入ポイントのオプションを使うと、ネストされた各レベルごとに別のそれぞれ別の入力アイテムを挿入ポイントとして作成します。このオプションを使うと、従来通りのリクエストパラメータのみが含まれるリクエストではオーバーヘッドにはならず、異なる形式でデータがカプセル化された複雑なアプリケーションでより多くの攻撃経路にたどりつけます。

膨大な数のパラメータを含むリクエストがあった場合にスキャンが停止するのを防ぐために、ベースリクエストごとに生成される挿入ポイント数の制限を設定できます。この設定により挿入ポイント数が削減されている場合、診断アイテムビューのアイテムのエントリには、省略された挿入ポイントの数が表示されるため、手動でベースリクエストをレビューし、可能な全ての挿入ポイントをフルスキャンする価値があるかどうか判断できます。

JavaScript解析オプション

これらの設定は、Burp ScannerがDOMベースの脆弱性をJavaScriptから検出する方法を制御します。次のオプションがあります:

注: JavaScript解析は大量のメモリと計算能力を消費する可能性があるため、重要で主要な対象のみに制限した方が望ましい場合があります。さらに、JavaScript解析を実行する場合は、より多くのメモリを割り当ててBurpを起動する必要があります。