TOUCH THE SECURITY Powered by Security Service G

ナレッジ

2020.01.24

ローカルプロキシツールBurpの使い方 その6 ~拡張機能「Logger++」を使う~

こんにちは、セキュリティサービスGの「シン」です。前回記事から間隔が空いてしまいましたが、第6回目ということで拡張機能(Extensions)の一つにあたる、Logger++について紹介したいと思います。

1.Burpの拡張機能(Extensions)について

先ずはBurpの拡張機能(Extensions)について触れておきます。これは独自の機能を追加できるプラグインのことで、Java、Python、Rubyで自らが作成したり、また他のユーザが作成したものも利用できます。

今回紹介するLogger++ですが、この拡張機能として配布されるものにあたり、筆者はWebアプリケーションの診断対象を洗い出す(巡回と言います)作業でよく利用します。

2.Logger++とは

さてこのLogger++ですが、基本的には以下のような機能を提供するものです。

  • HTTP通信情報をCSV形式で保存することができる
  • リクエスト毎に日本語コメントも入力し保存できる
  • 通信ログを自動で保存することができる

Webアプリケーション診断では、実施にあたり先ず「診断対象までの画面遷移とアクション名(どのボタンやリンクを押下するか)」「診断対象URL情報」といった情報が必要になります。この情報を予め顧客に用意してもらえればよいのですが、要望によっては、自ら調査する必要もあるのです。Logger++はこれを効率的に行う手助けをしてくれます。

3.拡張機能としてインストール

Burpを起動したら「Extender」タブ →「BApp Store」タブを押下します。以下は拡張機能の一覧です。

一覧の項目について
Name 拡張機能名
Installed インストール済みの場合にチェックが入ります
Rating 評価
Popularity 人気
LastUpdated モジュールの最終更新日
Details 「Pro Extension」の記載のものはフリー版ではインストールできません

今回はLogger++をインストールしますので、これを選択して右側のInstallボタンを押下します。

インストール完了後に「Extensions」タブを押下します。インストールしたLogger++が追加されています。上部のタブにも追加されます。

4.操作方法

それではログを記録していきますが、まずは「Proxy」タブからプロキシサーバーの設定を行ないます。詳しい設定方法は第一回を参照してください。

次に診断対象Hostのみ記録するように設定します。これはScope設定と言いますが、BurpのProxyやIntruderなど全ての機能に対応します。これを設定することで不要な通信は記録されなくなります。どのようなHostが呼ばれるのかわからない場合は設定しなくても問題ありません。

「Target」タブ→「Scope」タブのAddを押下します。

URL情報を入力してOKボタンを押下します。

「Logger++」タブに戻ります。Statusを「Logger++ is running」の状態にします。このボタンを押下することで記録のon/offができます。

Logger++ is running ログを記録できる状態
Logger++ has been stopped ログの記録が停止されている状態

診断対象へアクセスします。リンクやボタンを押下すると以下のように通信が記録されます。

  • ①記録された通信一覧
  • ②リクエスト内容
  • ③レスポンス内容
一覧の主な詳細
# No
Comment クリックするとメモを記入できる(日本語でのコメントも可)。画面名や遷移方法を記入すると便利です。
Method HTTPメソッド
Host ホスト名
Path Path情報
Params リクエストパラメータが存在する場合にチェックが入ります
URL URL情報
Status ステータスコード
MIME-type ファイル種別
Extension ファイル種別
Response Length レスポンス量
Body Params? POSTデータが存在する場合にチェックが入ります
Request Body リクエストパラメータ情報

その他にも表示可能な情報があり、名前にカーソルを当てて右クリックすると表示・非表示の情報を選択可能です。

ログの記録が終わったら、結果をCSVで出力します。「Options」タブのExportのSave to table as CSV を押下します。

Exportの種類
Save to table as CSV 選択した名前の詳細のみ出力
Save full logs as CSV(slow) Save to table as CSVと、リクエスト情報とレスポンス情報を全て出力
Autosave as CSV Save full logs as CSV(slow)と同様の情報がアクセスする毎に自動で保存

CSV内容は以下のように出力されます。

リクエスト毎に画面遷移や機能名をコメント入れることができるので、診断対象一覧を効率よく作成することができます。診断対象を絞りたい場合にも、リクエストパラメータ情報などどの箇所を優先的に診断すべきかわかりやすく一覧化されるので、診断対象の選定も容易にできます。

以上、Burpの拡張機能であるLogger++について紹介しました。今後も定期的に投稿していきます。

記事一覧に戻る