TOUCH THE SECURITY Powered by Security Service G
こんにちは、セキュリティサービスGの「シン」です。
ここではローカルプロキシツールBurpの拡張機能(Extensions)の一つ、Logger++について紹介したいと思います。
本記事は、Logger++の使い方を知りたい、拡張機能(Extensions)を使いたい、という方に向けた記事となります。
このような悩みをお持ちの方にとって、有用な記事となれれば幸いです。
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 を押下します。
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++について紹介しました。この記事が、読者のみなさまにとって役立つものであれば幸いです。