---
title: BurpExtenderを作ろう
tags:  #セキュリティ #脆弱性診断 #脆弱性  
author: [はるきち](https://convert.docswell.com/user/7847837919)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/LE13PV44JG.jpg?width=480
description: 内部勉強会での発表資料です。  (AIによる要約) Burp拡張はBurpSuiteの機能を拡張し、診断業務をさらに便利にするための手段です。特に、HTTPレスポンスの加工やログの取得、WebSocketの操作など、多彩な機能を持ちます。このプレゼンテーションでは、Burp拡張の仕組みとインストール方法、便利な拡張機能としてInQl、Retire.js、Copy as Request、RequestParserなどを紹介し、さらに自分で拡張を作成する方法についても解説します。プログラミング言語としてはJava、Python、Rubyが利用可能であり、それぞれの特徴に応じた開発方法も提示します。
published: March 06, 25
canonical: https://convert.docswell.com/s/7847837919/5826VP-2025-03-06-170534
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/LE13PV44JG.jpg)

診断員は
Burp拡張で
幸せになろう
2023/11/16 社内勉強会
m.kouda


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GEWP2LXZJ2.jpg)

Who am I?
幸田将司:
セキュリティ屋さん:
- SecuriST(R) 認定診断士 試験委員会
- CEH(Certified Ethical Hacker)認定インストラクター
- 株式会社バラエナテック 代表
- ISOG-J 日本セキュリティオペレーション事業者協議会
twitter(X):
- @halkichisec
Copyright ©︎ m.kouda 2023


# Page. 3

![Page Image](https://bcdn.docswell.com/page/47ZKDM6L73.jpg)

Contents
1. Burp拡張ってなぁに
2. 便利なExtender集
3. 作ってみようExtender
Copyright ©︎ m.kouda 2023


# Page. 4

![Page Image](https://bcdn.docswell.com/page/YJ6Q1N2MJV.jpg)

Burp拡張ってなぁに
Copyright ©︎ m.kouda 2023


# Page. 5

![Page Image](https://bcdn.docswell.com/page/GJ5R452Q74.jpg)

Burp拡張(Burp Extender)
◼BurpSuiteの機能を拡張することができる
➢BurpSuiteにはExtender APIがあり、これを利用する
ことでBurpをもっと便利にできる。
➢HTTP Responseの出力に一手間加えたり
➢Logを取得したり
➢WebSocketのコネクションをいい感じにしたり
➢Extender用の画面を作る事もできる
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LE3PGNKZJ5.jpg)

Burp拡張(Burp Extender)
◼Documentをみるとどんなことができるかわかる
➢サンプル集もあるので大変嬉しい
➢ただし、API毎の親切な説明があるわけではない(重要)
使える言語は3つ
Java
Python
Ruby
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 7

![Page Image](https://bcdn.docswell.com/page/8EDL1W34JG.jpg)

Extenderの仕組み
◼BurpにはExtender用のAPIが用意されている
HttpMessage API
BurpExtender
(.jar file)
コンパイル
BurpExtender
.javaで宣言
Logging API
RequestResponseUtils API
...etc
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 8

![Page Image](https://bcdn.docswell.com/page/V7P2Q94V78.jpg)

Extenderの仕組み
◼BurpにはExtender用のAPIが用意されている
(使用できるAPIの例)
HttpMessage API
BurpExtender
(.jar file)
Java以外は
インタプリタが必要
Logging API
ProxyRequestHandler API
Jython
(インタプリタ)
Copyright ©︎
BurpExtender
(.py file)
[BalaenaTech Co., Ltd.] 2023


# Page. 9

![Page Image](https://bcdn.docswell.com/page/2JVD5MXRJQ.jpg)

Burp拡張(Burp Extender)
◼インストール方法は2種類。Extenderタブから有効にでき
る。
1. BAppStoreからインストール
2. .jarファイル等を読み込む
BAappStoreからインストー
ルしたExtenderはBurpから
消しても
bapp配下に残るため注意
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 10

![Page Image](https://bcdn.docswell.com/page/5EGY6GV6EL.jpg)

便利なBurp Extender集
Copyright ©︎ m.kouda 2023


# Page. 11

![Page Image](https://bcdn.docswell.com/page/4JQM4X627P.jpg)

1.InQl
◼GraphQLと戦う時に便利なBurp Extender
➢3つの機能を持ち、GraphQL形式のパラメータの整形な
ど非常に役に立つ
1. InQL Scanner... GraphQLのQueryを列挙してくれる
2. InQL Timmer... Historyみたいな機能
3. InQL Attacker... Intruderみたいな機能
BApp Storeからインストール可能
https://github.com/doyensec /inql
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 12

![Page Image](https://bcdn.docswell.com/page/K74VQ64PJ1.jpg)

1.InQl
◼BurpSuite v2023.11.1-24839(not stable)にてBurp
本体にGraphQLを良い感じに整形してくれる機能が登
場
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 13

![Page Image](https://bcdn.docswell.com/page/LJ13PV4X7G.jpg)

2.Retire.js
◼指摘漏れを防ぐExtender
➢脆弱性のあるVersionのJavaScriptライブラリを検出し
てくれる
➢マイナーなライブラリもフォローしてくれているので嬉
しい
➢CVEが付与されたライブラリを指摘する案件時に便利
BApp Storeからインストール可能
https://github.com/PortSwigger/retire-js
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 14

![Page Image](https://bcdn.docswell.com/page/GJWP2LXK72.jpg)

3.Copy as Requst
◼RequestからAPIを叩くソースコードを発行してくれ
る。Python、Nodejs、PowerShellが対応
➢APIの検査時のリクエスト再現時に
• Burpから生成するとCurlしか対応がない
➢Burpだけだと難しい処理をするのに便利
• API宛にファイルを順に送信したり、
• Responseが200 OKの時だけ追加の処理をする...等
BApp Storeからインストール可能
https://github.com/portswigger/copy-as-powershell-requests
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 15

![Page Image](https://bcdn.docswell.com/page/4EZKDM6NE3.jpg)

4.RequestParser
◼HTTP Requestを独自のフォーマットで抽出してクリップ
ボートに貼り付けてくれる。文字コードの変換が行える
➢例えば、{method}:{url}のようなフォーマットで診断詳細
を作りたいとき、フォーマットを作っておける
➢顧客毎に要求される媒体が違う場合に活躍する
➢Shift-JIS/EUCで扱われたパラメータを変換可能
https://github.com/halkichi0308/request-parser
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 16

![Page Image](https://bcdn.docswell.com/page/Y76Q1N297V.jpg)

作ってみようExtender
Copyright ©︎ m.kouda 2023


# Page. 17

![Page Image](https://bcdn.docswell.com/page/G75R452DE4.jpg)

Extenderの仕組み
◼BurpにはExtender用のAPIが用意されている
(使用できるAPIの例)
HttpMessage API
BurpExtender
(.jar file)
Java以外は
インタプリタが必要
Logging API
ProxyRequestHandler API
Jython
(インタプリタ)
Copyright ©︎
BurpExtender
(.py file)
[BalaenaTech Co., Ltd.] 2023


# Page. 18

![Page Image](https://bcdn.docswell.com/page/9J2DVN1MJR.jpg)

Extenderの仕組み
◼BurpにはExtender用のAPIが用意されている
HttpMessage API
BurpExtender
(.jar file)
Java以外は
インタプリタが必要
Logging API
ProxyRequestHandler API
Jython
(インタプリタ)
Copyright ©︎
BurpExtender
(.py file)
[BalaenaTech Co., Ltd.] 2023


# Page. 19

![Page Image](https://bcdn.docswell.com/page/DEY23PZPEM.jpg)

1.事前準備
◼Jythonのダウンロード
➢.jarのPythonインタプリタです。
➢https://www.jython.org/download
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 20

![Page Image](https://bcdn.docswell.com/page/VJN8V53M78.jpg)

事前準備
◼ダウンロードしたJython(.jar)をBurp環境へ設定
◼あとは.pyファイルをBurpへインストールするだけ
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 21

![Page Image](https://bcdn.docswell.com/page/YE9K6Y9WE3.jpg)

HelloWorld
◼まずはHelloWorld
https://github.com/PortSwigger/example-helloworld/blob/master/python/HelloWorld.py
registerExtenderCallbacks
という名前で宣言すると
Extentionで読み込まれる
stdout: 標準出力へ
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 22

![Page Image](https://bcdn.docswell.com/page/GE8RZ69RJD.jpg)

BurpExtrenderのAPI
◼API Documents
https://portswigger.net/burp/extender/api/
➢ただし、PythonとRuby向けのリファレンスがないため、
戻り値の型はエスパーが必要な時もある...?
➢非推奨ステータスがないため、ある日唐突に
DeprecatedになるAPIの検知が苦しい
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 23

![Page Image](https://bcdn.docswell.com/page/LELKD9W2JR.jpg)

BurpExtrenderのAPI
◼Javaの場合は少し開発が楽になる。
➢メリット1: mvnのプラグインを使うとIDEでインテリ
センスが使える
net.portswigger.burp.extender
このリポジトリを
pom.xmlに加えれ
ばOK
https://mvnrepository.com/artifact/net.portswigger.
burp.extender/burp-extender-api
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 24

![Page Image](https://bcdn.docswell.com/page/4JM2PZ99JW.jpg)

BurpExtrenderのAPI
◼Javaの場合は少し開発が楽になる。
➢メリット2:NetBeansでGUIがぽちぽち作れる(重要)
思う存分
Javaのグラフィカルコ
ンポーネントSwingの
修行ができてしまう
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 25

![Page Image](https://bcdn.docswell.com/page/PJRM16G9E9.jpg)

BurpExtrenderのデバッグ
◼Pythonの場合も少し開発が楽になる。(javaは面倒)
➢デバッグが容易
1. burpをCUIから起動
java –jar burpsuite.jar
2. ブレークポイントにデバッグ関数を仕込む
import pdb; pdb.set_trace()
3. ターミナルの出力をsystem consoleに向けるだけ
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


# Page. 26

![Page Image](https://bcdn.docswell.com/page/PEXVYMX37X.jpg)

まとめ
◼BurpExtenderはとても便利
➢これあると良いな~ というものは誰かが作っている
◼診断効率を上げよう
◼なければ作ればいい
➢開発環境が少し苦行
• JAVAはGUI作成が容易
• Pythonはデバッグが容易、GUI作成が少し大変
Copyright ©︎
[BalaenaTech Co., Ltd.] 2023


