1. サポートセンター
  2. ドキュメント
  3. デスクトップ版
  4. 便利な機能
  5. メッセージエディタ

メッセージエディタ

メッセージエディタは、HTTPリクエストとレスポンス、WebSocketメッセージを表示および編集するためにBurp全体で使用されます。生のメッセージ自体を表示するだけではなく、メッセージを素早く分析し、Burpのコアワークフローを推進し、他の便利なタスクの実行をするための多くの機能があります。

メッセージ解析タブ

エディタは、様々なタブを使用して様々な種類のメッセージを表示および分析します。表示されるタブは、現在表示されているメッセージの種類と内容によって異なります。

Raw

テキストエディタに生形式のメッセージが表示されます。テキストエディタには、 構文解析ホットキーテキスト検索など便利な機能がいくつもあります。

パラメータ

HTTPリクエストにのみ適用され、リクエストパラメータが表形式で表示されます。メッセージが編集可能な場合、一覧内で各パラメータの名前と値を直接編集し、パラメータのタイプも変更できます。パラメータの追加、移動、並べ替えもできます。

該当する場合は、見やすくするためにパラメータ名と値はURLデコードされた形式で一覧内に表示されます。編集するアイテムをダブルクリックすると、元の形式で表示されます。編集中に、関連する特殊文字(アンパサンドや等号など)をリテラル形式で入力すると、編集完了時に自動的にURLエンコードされます。

単一のセルを選択しCtrl+Cキーを押すと、その値をコピーできます。複数の行を選択すると、選択したすべての値がタブ/改行の区切り文字とともにコピーされ、スプレッドシートなどの他のソフトウェアにコンテンツを簡単に貼り付けられます。

ヘッダ

先頭行の後にヘッダを含んでいる、全てのHTTPメッセージに適用されます。ヘッダ名と値が表形式で表示されます。メッセージが編集可能な場合、一覧内で各ヘッダの名前と値を直接編集できます。ヘッダの追加、移動、並べ替えもできます。

メッセージのボディがある場合、ヘッダタブの下半分にあるテキストエディタに表示されます。

Hex

16進数エディタでメッセージを生形式で表示します。テーブル内の値をダブルクリックすると、個々のバイトを直接編集できます。値は、00からFFの2桁の16進数形式で指定する必要があります。

このタブのコンテキストメニューには、さらに次のアイテムがあります:

HTML

メッセージボディにHTMLコンテンツを含むHTTPレスポンスに適用されます。このタブには(ヘッダは表示されず)HTMLのみが表示され、HTMLタグの階層に従ってコンテンツがレイアウトや字下げされるなど、装飾された形式で表示されます。このタブの主な用途は、(Rawタブに表示されるような)読みにくいHTML形式をより読みやすくすることです。

XML

メッセージボディにXMLコンテンツを含むHTTPレスポンスに適用されます。このタブには(ヘッダは表示されず)XMLのみが表示され、HTMLタグの階層に従ってコンテンツがレイアウトや字下げされるなど、装飾された形式で表示されます。このタブの主な用途は、(Rawタブに表示されるような)読みにくいXML形式をより読みやすくすることです。

Render

メッセージボディにHTMLや画像コンテンツを含むHTTPレスポンスに適用されます。ブラウザに表示されたときに表示される形式で、メッセージボディの内容をレンダリングしようとします。

ViewState

ASP.NETのViewStateを(リクエストのパラメータまたはレスポンスのフォームフィールドに)含むHTTPレスポンスに適用されます。ViewStateの内容は展開され、ツリー構造で表示されます(ViewStateが暗号化されている場合を除く)。生データ自体は、ツリーの下のパネルに表示されます(ViewState v1.0はテキストエディタで、v2.0は16進数エディタで)。

メッセージが編集可能な場合は、下部パネルの生データを編集してViewStateを変更できます(ツリー自体は編集できません)。生データの編集が完了した際、メッセージエディタの他のタブを選択し、ViewStateタブを再選択すると、更新した内容でツリーが再描画されます。ViewStateでMACが有効になっている場合、サーバ側のプラットフォームが変更されたデータを拒否するため、編集しても効果がない点に注意してください。

コンテキストメニューのコマンド

メッセージエディタを右クリックすると、メッセージタイプに応じてさまざまなアクションを実行するコンテキストメニューが表示されます。これらを以下に記載します。

注: エディタが表示されたツールによって、コンテキストメニューに追加アイテムが含まれる場合があります(例えばRepeaterでは、URLをリクエストとして貼り付け、現在のアイテムをサイトマップに追加など)。

スキャン / ...に送信

任意のメッセージやメッセージ内の選択した部分を、Burpの他のツールに送信して、さらなる攻撃や解析が実行できます。ツール間のリクエストの送信機能は、Burpのユーザ主導ワークフローの中核をなします。

レスポンスをブラウザで表示

選択したレスポンスをブラウザ内でレンダリングさせ、Burpの組み込みHTMLレンダラーの制限を回避します。(Burpのインスタンスをプロキシに設定した)ブラウザにペーストできる一意なURLが生成され、レスポンスがレンダリングされます。その結果、ブラウザのリクエストはBurpによって処理され(リクエストは元のWebサーバには送信されません)、選択したレスポンスを正確に返し、最初にリクエストされたURLのコンテキストでブラウザはレスポンスを処理します。したがって、レスポンス内の相対リンクは、ブラウザによって正しく処理されます。その結果、ブラウザはレスポンスのレンダリングの課程で追加のリクエスト(画像やCSSなど)を生成し、これらはBurpの通常の方法で処理されます。

ブラウザでリクエスト

選択したリクエストを(Burpのインスタンスをプロキシに設定した)ブラウザで再送信できます。次のサブオプションがあります:

関連ツール

このサブメニューには、関連するタスクを実行する様々な便利な機能があります:

リクエストメソッド変更

リクエストで、リクエストメソッドのGETとPOSTを自動的に切り替えられ、関連する全てのリクエストパラメータはリクエスト内で適切に再配置されます。このオプションを使用すると、入力フィルタのバイパスやクロスサイトスクリプティング攻撃の微調整など、アプリケーションのパラメータ位置の許容範囲を素早くテストできます。

ボディのエンコーディング変更

リクエストで、任意のメッセージボディのエンコードを、標準のURLエンコードとマルチパートを切り替えられます。

URLをコピー

現在の完全なURLをクリップボードにコピーします。

curlコマンドをコピー

現在のリクエストを生成するcurlコマンドをクリップボードにコピーします。

ファイルにコピー

ファイルを選択し、現在のメッセージのコンテンツをファイルにコピーできます。これは、クリップボードにコピーすると問題が発生する可能性がある、バイナリコンテンツに便利です。選択したテキストか、何も選択していない場合はメッセージ全体がコピー処理されます。

ファイルから貼り付け

ファイルを選択し、ファイルの内容をメッセージ内に貼り付けられます。これは、クリップボードから貼り付けると問題が発生する可能性がある、バイナリコンテンツに便利です。選択したテキストを置き換え貼り付けるか、何も選択されていなければカーソル位置に挿入されます。

アイテムを保存

選択したリクエストとレスポンスを、レスポンス長・HTTPステータスコード・MIMEタイプなど全ての関連メタデータを含むXMLフォーマットで、選択したファイルに保存します。

選択箇所を変換

Rawタブによみ適用されます。このサブメニューのアイテムで、選択したテキストを様々な形式で素早くエンコードまたはデコードができます。メッセージが編集可能な場合、テキストが選択されたその場所が変換されます。メッセージが編集可能でない場合は、変換結果がダイアログに表示されます。次のタイプの変換が利用できます:

入力をURLエンコード

Rawタブによみ適用されます。このオプションをオンにすると、&や=などの文字は、入力時に自動的にURLエンコードされた同等の文字に置き換えられます。