1. サポートセンター
  2. ドキュメント
  3. デスクトップ版
  4. ツール
  5. Extender

Burp Extender

Burp Extenderにより、Burp拡張を使い、あなた自身またはサードパーティのコードによってBurpの機能を拡張できます。拡張の読込と管理、インストールした拡張の詳細表示BApp Storeから拡張のインストール、Burp Extender APIの閲覧、および拡張の処理方法に関するオプション設定ができます。

Burp拡張は、Proxy履歴TargetサイトマップScanner項目のほか、HTTPリクエストとレスポンスの修正、UIのカスタマイズ、スキャナでのチェック項目の追加、実行時キー情報へのアクセスなど、様々な方法でBurpの動作をカスタマイズできます。

独自のBurp拡張を作成するためのヘルプは、拡張に関するドキュメントを参照してください。

拡張の読込と管理

インストール済みの拡張の一覧が表に表示されます。一覧の横にあるボタンで、拡張の追加、削除、並び替えができます。次の点に注意してください:

拡張詳細

拡張の一覧でアイテムを選択すると、下部のパネルにその拡張に関する情報が表示されます。

詳細タブには、次の情報が表示されます:

出力タブには拡張の標準出力の詳細が、エラータブには標準エラー出力と同じ情報が表示されます。ストリームごとに、アプリケーションの出力をシステムコンソールに出力するか、ファイルに保存するか、UIで表示するかを設定できます。次の点に注意してください:

BApp store

BAppストアには、Burp Suiteのユーザによって書かれた、Burpの能力を拡張する拡張があります。

利用可能なBApp一覧の表示、特定のBAppのインストール、インストールしたBAppのユーザ評価が送信できます。

Burpを実行しているコンピュータからインターネットにアクセスできない場合は、BAppストアのWebサイトからBAppファイルをダウンロードし、Burpにそれらを手動でインストールできます。

一部の BAppは、PythonやRubyで書かれていて、JythonまたはJRubyをダウンロードし、関連する言語インタープリターの場所をBurpの設定で指定する必要があります。一部のBAppは、Burpの最新のバージョン、または別のエディションのBurpが必要になります。

Burp Extender API

Burpの拡張の作成に使用できるAPIの詳細があります。リストには、実行しているBurpのバージョンで利用可能なAPIが表示されています。リストから表示したいインタフェースの名前を選択すると、インタフェースのコードが全て表示されます。

"インタフェースファイルを保存"と"Javadocファイルを保存"ボタンでこれらのファイルをローカルにコピーし、拡張の開発時に利用できます。

Extenderオプション

このタブには、拡張の設定Java環境Python環境Ruby環境があります。

設定

次の設定があります:

Java環境

Javaで記述された拡張を実行する環境の設定ができます。拡張が任意のライブラリを使用している場合、ライブラリが読み込まれるフォルダを指定できます。BurpはこのフォルダとサブフォルダからJARファイルを検索し、Java拡張のロードに使用するクラスローダのクラスパスに含めます。

Python環境

Pythonで書かれた拡張を実行する環境の設定ができます。Pythonの拡張を使用するには、Javaで実装されたPythonインタープリターである、Jythonをダウンロードする必要があります。次のオプションがあります:

注: JythonはJavaクラスを動的に生成するため、異なるPython拡張をいくつもロードしたり、何度もPython拡張のアンロードとロードを行うと、メモリ問題が発生する場合があります。この場合、次のようなエラーが表示されます:

java.lang.OutOfMemoryError: PermGen space

Burpを起動するときのコマンドラインオプションに-XX:MaxPermSizeを追加し、より多くの PermGenストレージが割り当てられるようJavaを設定すると、この問題を回避できるかもしれません。例:

java -XX:MaxPermSize=1G -jar burp.jar

Ruby環境

Rubyで書かれた拡張を実行する環境の設定ができます。Rubyの拡張を使用するには、Javaで実装されたRubyインタープリターである、JRuby をダウンロードする必要があります。ここでJRubyのJARファイルの場所を設定するか、起動時にJavaクラスパスからJAR ファイルを読み込めます。

.注: 一部のRuby拡張をロードする場合、Python環境で説明したPermGenストレージの問題が同様に生じることがあり、同じ方法で解決できます。