Inspector

Inspectorは、Burp Suite全体でメッセージエディタの右側に表示される折りたたみ可能なパネルです。次の主要機能を提供しています:

これらの機能の一部は、Burp RepeaterやBurp Proxyでインターセプトされたリクエストを処理する場合など、編集可能なリクエストでのみ使用できることに留意してください。

同じ情報を表示するタブをメッセージエディタに追加もできます。これらは、メッセージエディタの設定で有効にできます。

リクエスト属性

リクエスト属性には、HTTPメソッド、パス、リクエスト送信時に使われたプロトコル、あるいは編集できるメッセージではリクエスト送信時に使用したいプロトコルが表示されます。

プロトコルを変更すると、新しいプロトコルで同等のリクエストが生成されるよう、必要な変換を実行します。つまり、必要に応じて個々のリクエストを簡単にアップグレードやダウングレードできます。

InspectorでのHTTPメッセージデータの表示

Inspectorは、リクエストとレスポンスの両方で、すべてのヘッダ、パラメータ、cookieについて、名前と値のペアのセットとして表示します。これにより、何を処理べきかを簡単に確認できます。アイテムは、タイプに基づいて折りたたみ可能なカテゴリにグループ化されます。各カテゴリの横の数字は、このタイプの項目が何個あったかを示しています。

自動デコード

Inspectorに表示される値は自動的にHTML、URL、Base64デコードもされるため、最初に手動でデコードしなくても、より読みやすい形式で表示できます。

Inspectorのメインビューには、このデコードした最終結果のみが表示されます。各アイテムの右側にある矢印をクリックすると、詳細も表示できます。ここでは、Inspectorが適用した各デコード手順と、各ステージでの結果を確認できます。

必要に応じて、提供されているドロップダウンメニューを使用するとデコードステップの手順を変更でき、またプラスアイコンとマイナスアイコンを使用すると手動でステップの追加や削除もできます。

HTTP/2ヘッダと擬似ヘッダ

Inspectorは、リクエスト内の通常のヘッダと一緒にHTTP/2疑似ヘッダも、名前と値のペアとして表示します。各疑似ヘッダの名前の前にはコロンが付いているので、それらを区別できます。

これは、HTTP/1構文から完全に独立して、HTTP/2リクエストを処理する別の方法を提供します。これは、サーバに送信される基になるリクエストに近いです。また、メッセージエディタでは不可能なインジェクションによる、HTTP/2特有のさまざまな脆弱性もテストできます。

詳細は、BurpでのHTTP/2の操作を参照してください。

部分文字列の選択

メッセージエディタで任意の部分文字列を強調表示して、それをInspectorで表示できます。1文字以上の文字を選択し始めると、選択ウィジェットが出現します。もちろんここに表示される内容は、選択内容によって異なります。

メッセージエディタで印字不可文字を表示するオプションを選択したかどうかにかかわらず、選択ウィジェットには表示される点に注意してください。複数の行を強調表示すると、たとえば、行末にある\r\n文字が表示されます。

Inspectorを使用したリクエストの変更

Burp Repeaterなどで編集可能なメッセージを操作する場合に、リクエストを変更する処理を簡素化するためのさまざまな機能がInspectorにあります。エディタで直接作業するのではなくInspectorで作業すれば、ヘッダの並べ替えなどの基本的な操作をすばやく実行できます。また、エンコードされたデータを処理するプロセスが大幅に簡素化されます。

リクエストに新規アイテムを追加

HTTPヘッダなどの新規アイテムを追加するには、Inspectorパネルの対応するカテゴリを展開し、リストの下部にある追加ボタンをクリックします。アイテムの名前と値を入力し、再度追加をクリックします。メッセージエディタが更新され、新しいアイテムが含まれていることに注目してください。

リクエストからアイテムを削除

リクエストからアイテムを削除するには、アイテムを選択し、リストの下部にある削除ボタンをクリックします。または、アイテムを右クリックし、コンテキストメニューからアイテムを削除するを選択します。

どちらの方法でも、複数のアイテムを同時に削除できます。複数のアイテムを選択するには、マウスをクリックしてドラッグするか、シフトキーを押しながらそれぞれのアイテムをクリックします。

リクエスト内のアイテムの並べ替え

リクエスト内のアイテムを並べ替えるには、移動するアイテムを選択してから、リストの下部にある矢印ボタンを使用します。この方法は、メッセージエディタでアイテムを手動でカット&ペーストするよりもはるかに迅速に行えます。

アイテムの名前または値の編集

アイテムの名前や値を編集するには、メインのInspectorパネルでそのアイテムをダブルクリックします。その後必要な変更を行いReturnキーを押すと、変更を適用できます。

編集したデータがInspectorによって自動的にデコードされていた場合は、変更内容がリクエストに挿入される前に、同じ順序のエンコーディングが適用されます。これにより、エンコードされたデータを操作する際の時間を大幅に節約できます。

入力に適用されている一連のデコード手順を確認したい場合は、アイテムの右側にある矢印をクリックして詳細ビューを開きます。

改行の挿入

現在、Inspectorのメインビューから改行は挿入できません。ただし、これは詳細ビューで実行できます。編集したいアイテムの右側にある矢印をクリックして詳細ビューを開き、名前またはのフィールドで文字を入力したい場所を選択し、Shift + Returnキーを押します。復帰文字(CR)と改行文字(LF)の文字が入力フィールドに挿入され、\r\nアイコンが表示されます。

これは、James Kettle氏が発見したHTTP/2特有の脆弱性を悪用するために不可欠です。詳細は、リサーチページで彼のホワイトペーパーを確認してください。

PortSwigger Research

HTTP/2: The Sequel Is Always Worse

その他の印字不可文字の挿入

Inspectorで任意の印字不可文字を入力するには、まず挿入したい場所に適当なプレースホルダ文字を追加します。そのプレースホルダーを選択し、Inspectorの選択ウィジェットを使用し、挿入したい文字のコードポイントに変更します。たとえば、コードポイントを00に設定すると、その文字はヌルバイトに置き換わります。

メッセージエディタのHexタブに切り替えると、プレースホルダーを追加せずに、印字不可文字を入力できます。

Inspectorからアイテムをコピー

Inspectorパネルから1つ以上の項目をコピーして、別のリクエストなどに貼り付けられます。これには次の選択肢があります:

エンコードされたデータの場合クリップボードには、Inspectorに表示されるデコードされた値ではなく、エンコードされた元の値がコピーされます。

Inspectorの表示設定

Inspectorパネルの上部にあるボタンで、さまざまな表示設定ができます。次のことが可能です:

デフォルトの表示設定

設定ボタンをクリックして設定ダイアログを開き、Inspector設定セクションを選択します。

ウィジェットセクションでは、Inspector内にデフォルトで表示されるウィジェットの表示方法を調整できます。次のことが可能です:

デフォルトのポジションと表示オプションセクションでは、Inspectorパネルのデフォルトのレイアウトを設定できます。次のことが可能です:

Inspector設定ダイアログは全体で共通で、Burp SuiteのすべてのツールでInspectorを使用する際に適用されます。