SlideShare a Scribd company logo
1 of 14
開発したExtensionの一部紹介と
Extension開発入門
田篭 照博
自己紹介
• 某セキュリティ企業で主にセキュリティ
診断を行っている。Webアプリ、プラッ
トフォーム、スマホ、ソース診断など
• その前は7年ほど主にアプリケーション開
発に従事しており、そこで培ったプログ
ラミング能力を活かし、診断の傍ら診断
用の効率化ツールを大量生産している。
• 趣味はサーフィンとコーディング
イントロダクション
• Burpはプラグインアーキテクチャを採用
している
• 様々な便利ユーティリティがもとより用
意されておりそれらを利用してExtension
開発するだけで誰でも簡単に機能を拡張
可能
• 本日は開発したExtensionの一部紹介と、
如何にして作るかをご紹介
1. 開発したExtensionの紹介
Reflection Monitor
• 設定した文字列がレスポンス中に含まれ
ていた場合に、History上で対象のリクエ
ストがハイライトされる
• コメント欄にその文字列が表示される
Sync Parameter
• CSRF対策トークンを自動で同期してくれ
る機能
• Repeater、Intruder、Scannerにも対応
JSON Params Generator
• リクエストボディがJSONの場合にパラ
メータ名と値をリストアップする
• 診断記録の補助ツール
POSTMAN Collaborator
• POSTMAN取り込み用のjsonファイルを自
動生成
• スマホAPIなどの診断時に重宝する
2. Extensionの作り方
最低限知っておくべきこと
• BurpExtenderクラスを実装すればよい
• 実装したい機能の用途に応じて、用意さ
れているインターフェースをインプリし、
そのクラスをdelegate先として指定
• するとBurpが動的にBurpExtenderクラ
スを動的にロードし、インプリしたメ
ソッドをイベントドリブンで呼び出して
くれる
作り方
• 公式サイトよりBurpExtenderとその他の
インターフェースをダウンロード
• 後はBurpExtenderを起点としつつ、適宜
クラスファイルなどを増やしながらコー
ドを書くだけ。つまり仕組みさえ分かれ
ば、後はビジネスロジックを実装するだ
け。色んなユーティリティがあり、開発
は超簡単。
開発者がインプリする主要イン
ターフェース
• IBurpExtender
最低限実装すべきインターフェース
• IProxyListener
リクエストないしはレスポンスがProxyを経由した際にコールバックされ
るメソッドを提供
• IHttpListener
リクエストないしはレスポンスが各ツール群(RepeaterやIntruder)を経
由した際にコールバックされるメソッドを提供
• ITab
タブを追加する際にインプリする
• IContextMenuFactory
コンテキストメニューを追加する際にインプリする
その他主要なクラスやインター
フェース
• IBurpExtenderCallbacks
Extensionがロードされる際に本体より渡されるオブジェク
トのクラス。当該オブジェクト経由でExtensionの名前の設
定や実装するリスナ等の登録などを行う
• IExtensionHelpers
便利なユーティリティを提供してくれる。とりあえず何か
困ったらここのJavaDocを除いてみる事をお奨めする。
IBurpExtenderCallbacksより取得可能。
• その他以下も重要なので各自JavaDocをご覧ください。
IInterceptedProxyMessage、IHttpRequestResponse、
IRequestInfo、IResponseInfo
まとめ
• Extensionを開発すれば、如何様にも診断
の効率化が図れる
• エンジニアたるもの欲しいものは待つの
ではなく、迎えにいこう(つまり自ら
Extension開発しよう。簡単ですし)
• 皆で便利なExtensionをたくさん作ってセ
キュリティ診断に革命を起こそう!

More Related Content

Viewers also liked

未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京Masayuki Abe
 
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016Hiroshi Tokumaru
 
PHPerだってMicroservicesしたい!
PHPerだってMicroservicesしたい!PHPerだってMicroservicesしたい!
PHPerだってMicroservicesしたい!Shinichi Takahashi
 
PHPの今とこれから2016
PHPの今とこれから2016PHPの今とこれから2016
PHPの今とこれから2016Rui Hirokawa
 
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説do_aki
 

Viewers also liked (6)

Proxy War
Proxy WarProxy War
Proxy War
 
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
 
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016
 
PHPerだってMicroservicesしたい!
PHPerだってMicroservicesしたい!PHPerだってMicroservicesしたい!
PHPerだってMicroservicesしたい!
 
PHPの今とこれから2016
PHPの今とこれから2016PHPの今とこれから2016
PHPの今とこれから2016
 
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説
 

【Burp suite japan lt carnival】開発したextensionの一部紹介とextension開発入門