Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
generator-burp-extension — Burp拡張機能の生成について知っておくべきすべて | Kitploit
ツール/GitHubGitHub/rsrdesarrollo/generator-burp-extension
スクリプトと自動化ウェブセキュリティペネトレーションテストユーティリティとフレームワーク
GitHubrsrdesarrollo/generator-burp-extension

generator-burp-extension

Burp拡張機能の生成について知っておくべきすべて

リポジトリを見る
1582743年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Burp拡張機能ジェネレーター NPM version

インストール

まず、npm(node.jsが事前にインストールされていることを前提とします)を使用してYeomanとgenerator-burp-extensionをインストールします。

root@kitploit:~
npm install -g yo
npm install -g generator-burp-extension

次に、新しいプロジェクトを生成します。

root@kitploit:~
yo burp-extension

Burp拡張機能の機能

プラグインプロジェクトを生成する際、ジェネレーターはプラグインにどの機能を含めるかを尋ねます。Burp拡張機能の開発に精通している場合は、機能名だけで十分に理解できるでしょう。しかし、Burp拡張機能に不慣れな方のために、各機能で何ができるのかを簡単に説明します。

拡張タブGUI

BurpのUIに追加されるカスタムタブです。通常は、何らかの機能(logger++拡張機能など)を追加したり、ユーザーが拡張機能を設定できるようにするために使用します。

メッセージエディタタブGUI

BurpのメッセージエディタUI(リピーター、イントルーダーなど)に追加されるカスタムメッセージエディタタブです。通常は、リクエスト/レスポンスのペイロードに何らかのカスタムエディタ/ビューア機能を提供するために使用します。一例として、JSON Beautifier拡張機能があります。

コンテキストメニューGUI

右クリックによって、BurpのUIのほぼどこにでもカスタムコンテキストメニューが追加されます。Burpでは、以下の状況でコンテキストメニューを表示できます。

  • イントルーダー攻撃結果
  • イントルーダーペイロード位置エディタ
  • リクエストエディタ
  • レスポンスエディタ
  • 編集不可リクエストビューア
  • 編集不可レスポンスビューア
  • プロキシ履歴
  • スキャナ結果
  • 検索結果ウィンドウ
  • ターゲットサイトマップテーブル
  • ターゲットサイトマップツリー

この機能の簡単な例として、リクエストをPythonコードとしてコピーできるcopy-as-python-requests拡張機能があります(あくまで一例です)。

HTTPリスナー / プロキシリスナー

リスナーは、プロキシツール(プロキシリスナー)または任意のBurpツール(HTTPリスナー)によって処理されるリクエストとレスポンスの通知を受け取ります。拡張機能は、これらのメッセージに対してカスタム分析や変更を実行できます。

言い換えると、プロキシリスナーはブラウザからBurpへのリクエストと、Burpからブラウザへのレスポンスをインターセプトします。HTTPリスナーはBurpからWebサーバーへの送信リクエストと、Webサーバーからの受信レスポンスをインターセプトします。

この拡張機能の機能を使用した実際のプラグインの例としては、AutoRepeaterがあります。

イントルーダーペイロードジェネレーター

イントルーダーペイロードを拡張し、カスタム生成機能を追加します。この機能の使用例として、ランダムな有効なIBAN番号を生成することが考えられます。実際の例としては、Intruder file payload generator拡張機能があります(私は使っていませんが、単なる例です)。

イントルーダーペイロードプロセッサー

イントルーダーペイロードを拡張し、カスタムプロセッサー機能を追加します。例えば、静的キーに基づいたAES暗号化を実行することが考えられます。

スキャナチェック

スキャン実行時、Burpはチェックに対してベースリクエストに対してアクティブスキャンまたはパッシブスキャンを実行するよう要求し、特定されたスキャナ問題を報告します。

スキャナ挿入ポイントプロバイダー

リクエストがアクティブスキャンされる際、スキャナがこれを呼び出し、プロバイダーはスキャンで使用されるカスタム挿入ポイントのリストを提供する必要があります。

セッションハンドリングアクション

登録された各アクションは、セッションハンドリングルールUI内でユーザーがルールアクションとして選択できるようになります。ユーザーはアクションを単独で直接呼び出すか、マクロの実行後に呼び出すかを選択できます。

拡張状態リスナー

リスナーは、拡張機能がBurpからアンロードされる際に通知を受け取ります。注意:バックグラウンドスレッドを開始したり、システムリソース(ファイルやデータベース接続など)を開く拡張機能は、リスナーを登録し、拡張機能がアンロードされる際にスレッドを終了/リソースを閉じる必要があります。

スキャナリスナー

リスナーは、スキャナツールによって報告された新しい問題の通知を受け取ります。拡張機能は、スキャナリスナーを登録することで、スキャナ問題のカスタム分析やログ記録を実行できます。

スコープ変更リスナー

リスナーは、Burpのスイート全体のターゲットスコープに変更が発生するたびに通知を受け取ります。

おそらく、Burpではグローバルスコープの定義にアクセスできないため、役に立たないでしょう。

トレードオフ

このセクションでは、テンプレート開発におけるいくつかの決定事項について説明します。

なぜJavaで、Python/Rubyではないのか

まず、私はJavaのファンではありません。

ご存知かもしれませんが、BurpSuiteでは3つの主要言語(Java、Python、Ruby)で拡張機能を開発できます。実際にはこれは完全に正しいわけではありません。BurpではJythonとJRubyでの開発が可能です。ここで実際の問題は、JythonやJRubyをBurp拡張機能で使用する場合でも、Java(Burpの主要言語であるため)を考慮する必要があることです。結局のところ、PythonとJavaの両方で開発することになりますが、実際のIDE、オートコンプリート、そのようなモダンな機能とプロジェクトを統合する際に多くの問題が発生します。

JavaをJythonではなく使用するもう一つの良い理由は、JythonがPython 2.7に基づいていることです。また、JRubyは好きではないため使用していません。それだけです。

すべてがシングルトン(リーディングアーティクル)

お気づきかもしれませんが、Burpインターフェースのすべての実装はシングルトンパターンに従っています。その主な理由は完全に主観的なものです。

Burpは素晴らしいツールですが、その内部については少し不明瞭で、おそらく少し乱雑です。そのため、例えばBurpでは複数のIHTTPListenerを登録できますが、これらのリスナーの呼び出し順序のような重要な決定を失うことになります。このような状況は、私の謙虚な意見では、Burp拡張機能の理解とコードの保守性を不明瞭にし、困難にする可能性があります。

各シングルトンクラスを、Burpとの必須の接続ポイントと見なすことができます。これは一意でなければなりません。その接続ポイントから、コードを制御し、あらゆる種類のオブジェクト指向設計を実行できます。

ライセンス

MIT © Raul Sampedro

ツールをダウンロード