サイトマップの比較

この機能により、2つのサイトマップを比較し、差異を強調表示できます。この機能は、アクセス制御系の脆弱性を見つけるさまざまな方法や、大規模なアプリケーションのうちどの部分を手動検査すれば良いかの確認に使えます。この機能の典型的な使用例は次の通りです:

メインサイトマップのコンテキストメニューのサイトマップ比較で、この機能にアクセスできます。比較のサイトマップ、そのサイトマップとどのようなリクエストをマッチさせるのか、どのようなレスポンスの比較をする必要があるのかを設定するウィザードが開きます。Burpは比較を実行し、レビュー用に結果を表示します。

サイトマップソース

サイトマップを比較するには、比較する元サイトマップを選択する必要があります。次のオプションがあります:

サイトマップのすべてのコンテンツを含めるか、スコープ内のアイテムだけに制限するか、選択できます。

別のセッションコンテキストでサイトマップを再リクエストする場合、次の点に注意してください:

リクエストマッチ

比較を実行するため、Burpは1つ目のサイトマップの各リクエストごとに、2つめのサイトマップのリクエストと対応付け、逆も同様に行います。対象アプリケーションの機能に合わせて、どのようにリクエストの対応付けするか、詳細な設定が可能です。

リクエストの対応付けに次のどのアイテムを使用するか選択できます:

ほとんどの状況でデフォルトオプションで問題なく、URLファイルパス、HTTPメソッド、クエリーストリングとメッセージボディのパラメータ名によって、対応付けを行います。

レスポンス比較

リクエストを対応付けるため、レスポンスを比較し違いを見つけます。対象アプリケーションの機能に合わせて、レスポンスの比較方法の詳細を設定できます。

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

ほとんどの状況でデフォルトのオプションで機能します。この設定では、一般的なHTTPヘッダや一時的な値を持つフォームフィールドを無視し、空白のみのレスポンスも無視します。デフォルトのオプションは、レスポンス内の細かい変化によるノイズを減らすように設計されており、問題の可能性が高い差異の方に集中できます。

比較結果

比較結果には、両方のサイトマップがツリービューとテーブルビューで表示され、関連する差異が強調表示されます。2つのサイトマップ間で追加、削除、変更されたアイテムは、それに応じて色分けされます。テーブルビューには差異箇所数列もあり、マップ1のレスポンスをマップ2のレスポンスに一致させるために編集が必要なテキスト数の最小値を表しています。

マップやツリーで1つ以上のアイテムを選択すると、他方のマップでも同じツリーのブランチが表示されるよう選択が自動的に更新され、またはテーブル内の同じアイテムが選択されます。選択を同期オプションをオフにするとこの動作を変更できます。

選択したアイテムの完全なリクエストとレスポンスがリクエスト/レスポンスビューアに表示され、関連する差異がレスポンス内で強調表示されます。

1つのディスプレイフィルタが両方のサイトマップに適用され、デフォルトではすべてのアイテムが表示されています。

サイトマップ比較の結果を解釈するには、人間の知能と、指定されたアプリケーション機能の意味とコンテキストを理解する必要があります。例:

すべてのこれらのシナリオは同じアプリケーションで共存するため、実際のアクセス制御の問題を特定する作業は困難です。これを行う唯一の方法は、比較結果の手動レビューです。Burpには、このプロセスを簡単にするためのいくつかの方法があります:

このような複雑なアクセス制御の評価を行う理由は、全自動ツールではアクセス制御の脆弱性をほとんど特定できないためです。実際には、その目的のツールのほとんどがノイズを生成し、誤検出や検知漏れになりがちです。アプリケーションの機能を詳細に調査し、それぞれの場合にアクセス制御が適切に実装されているかどうか評価するタスクを、Burpがすべて行ってくれるわけではありません。サイトマップ比較機能は、できるだけ多くの処理を自動化し、必要なすべての情報を明確な形式で提供し、アプリケーションの機能の知識を活用して実際の脆弱性を特定できるようにします。