はじめに
Burp Suite は、Web アプリケーションのセキュリティテストに不可欠なツールキットです。その最も強力な機能の 1 つが Repeater ツールであり、個々の HTTP リクエストを手動で編集して再送信し、アプリケーションの応答を分析することができます。これは、脆弱性のテスト、発見事項の確認、およびアプリケーションロジックの理解に非常に役立ちます。
この実験 (Lab) では、Burp の Proxy の履歴から Repeater ツールにリクエストを送信するという、基本的かつ重要なワークフローを学びます。これは、手動でリクエストを操作する際の最初のステップです。
対象アプリケーションの閲覧
このステップでは、Burp Suite を起動し、シンプルな Web アプリケーションを閲覧します。この操作により、Burp Suite の Proxy が傍受して記録できる HTTP トラフィックが生成されます。
まず、Burp Suite を起動しましょう。アプリケーションメニューから見つけるか、検索して起動できます。起動したら、一時プロジェクト (temporary project) オプションを選択し、「Next」をクリックしてから「Start Burp」をクリックします。
次に、実験環境で提供されている Web ブラウザを開きます。このブラウザは、すでに Burp Suite のプロキシを経由するように設定されています。
ブラウザのアドレスバーに以下の URL を入力して、対象アプリケーションにアクセスしてください。
http://127.0.0.1:8000
シンプルなウェルカムページが表示されるはずです。このやり取りは、これで Burp Suite によって記録されました。
Proxy > HTTP history タブでリクエストを見つける
このステップでは、先ほど行ったリクエストを Burp Suite の Proxy の履歴で見つけます。プロキシを通過するすべてのリクエストはここに記録され、ブラウジングアクティビティの完全なログを提供します。
ブラウザから Burp Suite ウィンドウに焦点を切り替えます。
- 上部にある
Proxyタブをクリックします。 Proxyタブ内で、HTTP historyサブタブをクリックします。
ブラウザが行ったすべての HTTP リクエストが一覧表示されたテーブルが表示されます。対象アプリケーションへのリクエストを探してください。Host 列に 127.0.0.1、URL 列に / が表示されているはずです。
## Host Method URL Params Edited Status ...
----------------------------------------------------------
1 127.0.0.1 GET / No No 200 ...
2 ... ... ... ... ... ... ...
テーブル内のこのリクエストをクリックして選択します。テーブルの下のパネルに、リクエストとレスポンスの詳細全体が表示されます。
リクエストを右クリックする
このステップでは、選択したリクエストのコンテキストメニューを開きます。このメニューは、リクエストを操作し、さらに分析するために他の Burp Suite ツールに送信するための主要な方法です。
HTTP history テーブルで 127.0.0.1 への GET / リクエストがまだ選択されている状態で、その行のどこかを右クリックします。
大きなコンテキストメニューが表示されます。このメニューには、以下のようなリクエストに対して実行できるさまざまなアクションが含まれています。
- Repeater に送信 (Send to Repeater)
- Intruder に送信 (Send to Intruder)
- Sequencer に送信 (Send to Sequencer)
- アクティブスキャンを実行 (Do an active scan)
- アイテムを保存 (Save item)
この実験では、Send to Repeater オプションに注目します。
コンテキストメニューから「Repeater に送信」を選択する
このステップでは、キャプチャしたリクエストを Burp Repeater ツールに送信するアクションを実行します。
コンテキストメニューが開いたまま、マウスカーソルを Send to Repeater オプションに移動してクリックします。
または、キーボードショートカットを使用することもできます。リクエストが選択された状態で、Ctrl+R を押すだけです。
このアクションはリクエストを移動させるのではなく、コピーします。元のリクエストは Proxy の履歴ログに残ります。コピーが Repeater ツールにキューイングされ、作業の準備が整いました。Burp Suite ウィンドウの上部にある Repeater タブの色が(例えばオレンジ色に)変わり、新しいアイテムを受信したことを示していることに気づくかもしれません。
新しい Repeater タブにリクエストが表示されていることを確認する
このステップでは、Repeater ツールに移動し、リクエストが正常に到着したことを確認します。
Burp Suite ウィンドウの上部にあるメインの Repeater タブをクリックします。
Repeater インターフェースが表示され、主に 2 つのパネルに分かれています。
- リクエストパネル (左): このパネルには、先ほど送信した生の HTTP リクエストが含まれています。
GET / HTTP/1.1の行、Host: 127.0.0.1:8000ヘッダー、その他のリクエストヘッダーを確認できます。このパネル全体は編集可能です。 - レスポンスパネル (右): このパネルは最初は空です。リクエストを送信した後、サーバーからのレスポンスが表示されます。
左側のパネルのリクエストの詳細が、Proxy の履歴から選択したリクエストと一致していることを確認してください。サイクルを完了するために、リクエストパネルの上部にある Send ボタンをクリックします。その後、サーバーからのレスポンスが右側のパネルに表示されます。
これで、Proxy から Repeater にリクエストを正常に移動させ、手動テストの準備が整いました。
まとめ
この実験では、Burp Suite を効果的に使用するための基本的なスキルを学びました。Proxy を使用して HTTP リクエストをキャプチャし、HTTP 履歴でそれを見つけ、手動分析のために Repeater ツールに送信することに成功しました。
このワークフロー(Proxy から Repeater へ)は、数え切れないほどの Web セキュリティテストの基礎となり、SQL インジェクション、クロスサイトスクリプティング(XSS)、安全でない直接オブジェクト参照などの脆弱性を調査するために、リクエストをその場で操作することを可能にします。Burp Suite マスターへのこの重要なステップを完了したことをお祝いします。
