Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,131 views

Published on

2016/11/18にBurp Suite Japan LT Carnivalで登壇した時の資料です。

Published in: Engineering
  • Be the first to comment

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

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

×