はじめに
Burp Suite は、Web アプリケーションのセキュリティテストのための強力なプラットフォームです。その最も便利な機能の 1 つは、グローバル検索機能であり、Proxy、Repeater、Intruder など、さまざまなツール間で特定のコンテンツをすばやく見つけることができます。これは、セキュリティ評価中にキャプチャされた大量のデータの中から、特定のパラメータ、トークン、エラーメッセージ、またはその他の興味深い文字列を特定するのに非常に役立ちます。
この実験では、Burp Suite の検索機能を効果的に使用する方法を学びます。検索ダイアログを開き、検索用語を定義し、検索オプションを設定し、結果を分析する練習をします。
「Burp」メニューに移動し、「Search」を選択する
このステップでは、まず Burp Suite を起動し、グローバル検索ウィンドウを開きます。このウィンドウは、アプリケーション内のすべての検索関連アクティビティの中心的なハブとなります。
まず、Burp Suite を起動する必要があります。アプリケーションメニューで見つけることができます。左上隅の Applications メニューをクリックし、「Other」に移動して、「Burp Suite Community Edition」を選択します。
ダイアログボックスが表示されます。Next をクリックし、次に Start Burp をクリックして、メインアプリケーションウィンドウを開きます。
Burp Suite が実行されたら、ウィンドウの一番上にあるメインメニューバーを見つけます。Burp メニューをクリックします。ドロップダウンリストが表示されます。このリストから、「Search」を選択します。
この操作により、グローバル検索ダイアログウィンドウが開きます。次のステップでこのウィンドウを使用して検索を実行します。
検索用語を入力する(例:特定のパラメータ名)
このステップでは、検索用語を入力します。何か意味のあるものを検索できるようになる前に、Burp Suite 内で Web トラフィックデータを生成する必要があります。
まず、Burp のプロキシを設定し、組み込みブラウザを使用して Web サイトにアクセスしましょう。
Proxyタブに移動し、次にInterceptサブタブに移動します。- ボタンが
Intercept is onと表示されている場合は、クリックしてオフにします。現在はIntercept is offと表示されているはずです。 Open Browserボタンをクリックします。新しい Chromium ブラウザウィンドウが開き、Burp Suite を介してトラフィックを送信するように事前に設定されています。- ブラウザのアドレスバーに
http://portswigger-labs.netと入力し、Enter キーを押します。サイトをしばらく閲覧してください。 - これでブラウザウィンドウを閉じることができます。
Burp Suite ウィンドウに戻ります。Proxy -> HTTP history タブに移動します。ブラウザが行ったリクエストのリストが表示されます。これが、検索対象となるデータです。
次に、前のステップで開いた検索ウィンドウに戻るか(または Burp -> Search から再度開きます)、Search term 入力フィールドに、一般的な HTTP ヘッダーを探します。検索ボックスに次の用語を入力します。
Host
これが、後続のステップで探す用語です。
検索オプションを設定する(例:大文字・小文字を区別する、正規表現)
このステップでは、利用可能なオプションを使用して検索を絞り込む方法を学びます。検索ウィンドウには、検索動作を制御するためのいくつかのチェックボックスが用意されています。
Search term フィールドの下に、これらのオプションがあります。最も一般的な 2 つのオプションを見てみましょう。
Case sensitive(大文字・小文字を区別する):このボックスがチェックされている場合、検索では検索用語の正確な大文字・小文字の一致のみが見つかります。Hostの検索でこれをチェックすると、Hostは見つかりますが、hostやHOSTは見つかりません。Regex(正規表現):この強力なオプションは、検索用語を正規表現として扱います。これにより、高度なパターンマッチングが可能になります。たとえば、セッション ID のようなパラメータ(例:sessionid=a1b2c3d4)を見つけるには、sessionid=\w+のような正規表現を使用できます。
この実験では、特定の HTTP ヘッダーを見つけるために、大文字・小文字を区別する検索を実行します。
Case sensitive チェックボックスがオンになっていることを確認してください。現時点では Regex チェックボックスはオフのままにしておきます。
検索対象のツールを選択する(例:Proxy、Repeater)
このステップでは、検索の範囲を定義します。Burp Suite では、どのツールを検索操作に含めるかを選択できます。
検索ウィンドウの右側には、Tools scope セクションがあります。この領域には、Target、Proxy、Repeater、Intruder など、Burp Suite のすべての主要なツールがリストされています。
組み込みブラウザを使用してトラフィックを生成したため、すべてのリクエストとレスポンスは Proxy の履歴に保存されています。したがって、検索に Proxy ツールが含まれていることを確認する必要があります。
Proxy チェックボックスがオンになっていることを確認してください。検索をより速く、より的確にするために、Target、Repeater などの他のチェックボックスはオフにすることができます。この実験では、Proxy のみで検索すれば十分です。
検索を実行し、結果を分析する
このステップでは、検索を実行し、結果を分析します。すべてのパラメータが設定されたので、Host ヘッダーのすべての出現箇所を見つける準備ができました。
検索ウィンドウの下部にある Search ボタンをクリックします。
検索が実行され、結果がウィンドウのメイン部分のテーブルに表示されます。テーブルの各行は、指定されたツールスコープで見つかった個々のマッチを表します。テーブルの列には、Tool、Host、Method、URL など、各マッチのコンテキストが提供されます。
特定のマッチを検査するには:
- 結果テーブルのいずれかの行をクリックします。
- 下部にある
Request / Responseビューアを確認します。選択した項目の完全なリクエストとレスポンスが表示されます。 - 検索用語である
Hostは、リクエストビューアで自動的にハイライト表示され、コンテキスト内でのマッチを非常に簡単に見ることができます。
この機能は、何百、何千ものトランザクションを素早くナビゲートして、特定の関心のある箇所を見つけるのに非常に役立ちます。
まとめ
この実験では、Burp Suite のグローバル検索機能の使用方法を習得しました。検索ダイアログを開き、検索語を入力し、大文字・小文字の区別などのオプションを設定し、ツールスコープを選択し、最後に検索を実行して結果を分析する練習を行いました。
検索機能を使いこなすことは、効率的なウェブアプリケーションセキュリティテストの重要なスキルであり、大規模で複雑なアプリケーションを分析する際の時間と労力を大幅に節約できます。このスキルを応用して、脆弱性を発見したり、ユーザーセッションを追跡したり、テストトラフィック内のあらゆる情報を特定したりすることができます。
