Inspectorは、Burp Suite全体でメッセージエディタの右側に表示される折りたたみ可能なパネルです。次の主要機能を提供しています:
HTTPやWebSocketメッセージの興味深い機能について、タブを切り替えずに素早く表示や編集ができます。
パラメータ、cookie、エディタ内で選択した部分文字列について、完全にデコードされた値を表示します。
生のHTTP構文を操作するのではなくボタンをクリックするだけで、アイテムの追加、削除、並び替えができます。
デコードされた形式でデータを編集できます。リクエストを更新すると、関連する一覧のエンコードが自動的に再適用されます。
それぞれのリクエストで、プロトコルを切り替えて送信できます。新しいプロトコルで同等のリクエストが生成されるよう、必要な変換を自動的に実行します。
メッセージエディタのHTTP/1スタイルの構文に依存せず、HTTPヘッダと擬似ヘッダの操作ができます。これにより、HTTP/2特有のテストをするための多くの高度な手法が容易になります。
これらの機能の一部は、Burp RepeaterやBurp Proxyでインターセプトされたリクエストを処理する場合など、編集可能なリクエストでのみ使用できることに留意してください。
同じ情報を表示するタブをメッセージエディタに追加もできます。これらは、メッセージエディタの設定で有効にできます。
リクエスト属性には、HTTPメソッド、パス、リクエスト送信時に使われたプロトコル、あるいは編集できるメッセージではリクエスト送信時に使用したいプロトコルが表示されます。
プロトコルを変更すると、新しいプロトコルで同等のリクエストが生成されるよう、必要な変換を実行します。つまり、必要に応じて個々のリクエストを簡単にアップグレードやダウングレードできます。
Inspectorは、リクエストとレスポンスの両方で、すべてのヘッダ、パラメータ、cookieについて、名前と値のペアのセットとして表示します。これにより、何を処理べきかを簡単に確認できます。アイテムは、タイプに基づいて折りたたみ可能なカテゴリにグループ化されます。各カテゴリの横の数字は、このタイプの項目が何個あったかを示しています。
Inspectorに表示される値は自動的にHTML、URL、Base64デコードもされるため、最初に手動でデコードしなくても、より読みやすい形式で表示できます。
Inspectorのメインビューには、このデコードした最終結果のみが表示されます。各アイテムの右側にある矢印をクリックすると、詳細も表示できます。ここでは、Inspectorが適用した各デコード手順と、各ステージでの結果を確認できます。
必要に応じて、提供されているドロップダウンメニューを使用するとデコードステップの手順を変更でき、またプラスアイコンとマイナスアイコンを使用すると手動でステップの追加や削除もできます。
Inspectorは、リクエスト内の通常のヘッダと一緒にHTTP/2疑似ヘッダも、名前と値のペアとして表示します。各疑似ヘッダの名前の前にはコロンが付いているので、それらを区別できます。
これは、HTTP/1構文から完全に独立して、HTTP/2リクエストを処理する別の方法を提供します。これは、サーバに送信される基になるリクエストに近いです。また、メッセージエディタでは不可能なインジェクションによる、HTTP/2特有のさまざまな脆弱性もテストできます。
詳細は、BurpでのHTTP/2の操作を参照してください。
メッセージエディタで任意の部分文字列を強調表示して、それをInspectorで表示できます。1文字以上の文字を選択し始めると、選択ウィジェットが出現します。もちろんここに表示される内容は、選択内容によって異なります。
個々の文字を選択すると、そのASCIIコードポイントが10進数または16進数形式で表示されます。
複数の文字を選択すると、選択内容が表示され、パラメータやcookieなどの詳細ビューを見るときと同じように、自動的にデコードされます。カテゴリの見出しの横には、文字数も表示されます。
メッセージエディタで印字不可文字を表示するオプションを選択したかどうかにかかわらず、選択ウィジェットには表示される点に注意してください。複数の行を強調表示すると、たとえば、行末にある\r\n
文字が表示されます。
Burp Repeaterなどで編集可能なメッセージを操作する場合に、リクエストを変更する処理を簡素化するためのさまざまな機能がInspectorにあります。エディタで直接作業するのではなくInspectorで作業すれば、ヘッダの並べ替えなどの基本的な操作をすばやく実行できます。また、エンコードされたデータを処理するプロセスが大幅に簡素化されます。
HTTPヘッダなどの新規アイテムを追加するには、Inspectorパネルの対応するカテゴリを展開し、リストの下部にある追加ボタンをクリックします。アイテムの名前と値を入力し、再度追加をクリックします。メッセージエディタが更新され、新しいアイテムが含まれていることに注目してください。
リクエストからアイテムを削除するには、アイテムを選択し、リストの下部にある削除ボタンをクリックします。または、アイテムを右クリックし、コンテキストメニューからアイテムを削除するを選択します。
どちらの方法でも、複数のアイテムを同時に削除できます。複数のアイテムを選択するには、マウスをクリックしてドラッグするか、シフト
キーを押しながらそれぞれのアイテムをクリックします。
リクエスト内のアイテムを並べ替えるには、移動するアイテムを選択してから、リストの下部にある矢印ボタンを使用します。この方法は、メッセージエディタでアイテムを手動でカット&ペーストするよりもはるかに迅速に行えます。
アイテムの名前や値を編集するには、メインのInspectorパネルでそのアイテムをダブルクリックします。その後必要な変更を行いReturn
キーを押すと、変更を適用できます。
編集したデータがInspectorによって自動的にデコードされていた場合は、変更内容がリクエストに挿入される前に、同じ順序のエンコーディングが適用されます。これにより、エンコードされたデータを操作する際の時間を大幅に節約できます。
入力に適用されている一連のデコード手順を確認したい場合は、アイテムの右側にある矢印をクリックして詳細ビューを開きます。
現在、Inspectorのメインビューから改行は挿入できません。ただし、これは詳細ビューで実行できます。編集したいアイテムの右側にある矢印をクリックして詳細ビューを開き、名前または値のフィールドで文字を入力したい場所を選択し、Shift + Return
キーを押します。復帰文字(CR)と改行文字(LF)の文字が入力フィールドに挿入され、\r\n
アイコンが表示されます。
これは、James Kettle氏が発見したHTTP/2特有の脆弱性を悪用するために不可欠です。詳細は、リサーチページで彼のホワイトペーパーを確認してください。
Inspectorで任意の印字不可文字を入力するには、まず挿入したい場所に適当なプレースホルダ文字を追加します。そのプレースホルダーを選択し、Inspectorの選択ウィジェットを使用し、挿入したい文字のコードポイントに変更します。たとえば、コードポイントを00
に設定すると、その文字はヌルバイトに置き換わります。
メッセージエディタのHexタブに切り替えると、プレースホルダーを追加せずに、印字不可文字を入力できます。
Inspectorパネルから1つ以上の項目をコピーして、別のリクエストなどに貼り付けられます。これには次の選択肢があります:
1つ以上のアイテムを選択し、コンテキストメニューからアイテムをコピーを選択します。
1つ以上のアイテムを選択し、キーボードでコピーまたはカットホットキーを使用します。
単一のアイテムを選択し、コンテキストメニューから名前をコピーまたは値をコピーを選択すると、名前または値のみをコピーできます。
エンコードされたデータの場合クリップボードには、Inspectorに表示されるデコードされた値ではなく、エンコードされた元の値がコピーされます。
Inspectorパネルの上部にあるボタンで、さまざまな表示設定ができます。次のことが可能です:
現在の場所で、パネルを画面の左に配置するか右に配置するかを切り替えられます。Burpは、各ツールごとに選択内容を記憶できます。
すべてのウィジェットを同時に展開または折りたたみができます。なお展開ボタンは、データを含むウィジェットのみを展開できます。
すべてのBurp Suiteツールに適用されるデフォルトのInspector表示設定が行えます。
設定ボタンをクリックして設定ダイアログを開き、Inspector設定セクションを選択します。
ウィジェットセクションでは、Inspector内にデフォルトで表示されるウィジェットの表示方法を調整できます。次のことが可能です:
Inspectorパネルにどのウィジェットを表示するか、各ウィジェットをデフォルトで展開するかどうか、そのウィジェットのセル内のテキストを折り返すかどうかを選択できます。
上へと下へボタンを使って、ウィジェットのリストを並び替えられます。
デフォルトのポジションと表示オプションセクションでは、Inspectorパネルのデフォルトのレイアウトを設定できます。次のことが可能です:
パネルのデフォルトポジション(左または右)を設定できます。
パネルの表示モードを設定できます。Inspectorはデフォルトで自動展開に設定されており、利用可能な画面スペースに応じてパネルの展開/折りたたみをします。Inspectorを折りたたんだままにするには、常に折りたたみラジオボタンを選択します。
Inspector設定ダイアログは全体で共通で、Burp SuiteのすべてのツールでInspectorを使用する際に適用されます。