蒐集

鮮やかな憧憬

Burp Suiteをつかってみるよー

環境

mac yosemite
javaが導入されていることが前提)

インストール

公式サイトへ移動
Download Burp Suite Free Edition

とりあえずフリー版を落としたいので、ダウンロードのタブからフリー版を落とします。すると、「burpsuite_free_(バージョン名).jar」的なファイルが落ちてくるはず。
それを普通にクリックして開くと使い始めることができます。

そもそも

そもそも、このソフトはWebブラウザとWebサーバ間の通信を確認・変更し、様々なテストを行うためのproxy型のデバッグツールでした。

  • プロキシってなんじゃっけ?

プロキシは、HTTPのやりとりを仲介するための存在でした。具体的には、WebブラウザのHTTPリクエストを受け取って,そのブラウザのあるパソコンに代わって自らWebサーバーにアクセスする機能を有するシステムのことです。
プロキシサーバというのを使ったことがあるかもしれないけれども、僕らが普通のプロキシサーバを経由するのにメリットは2つあって、それは高速化(プロキシサーバのキャッシュデータを流用できる)のと、セキュリティ向上のためでした。(社内ネットワークなんかにプロキシサーバを導入すると、WAN側からはプロキシサーバしか見えないので、社内の個々のパソコンは隠された状態になる)(世界には公開されてるプロキシサーバもあって、でも信用できないプロキシサーバを使うのは普通に怖いこともあったような。例えばプロキシサーバ上で誰かが通信を監視していたら普通に情報が漏れてしまう、とか(去年のセキュリティキャンプのネットワーク講座の問題がパケットキャプチャしてあるでーたを解析する問題でしたよね。あの時は添付されていたテキストデータも復元できてしまったのでした)があるので、目的に迫られて使うのが良い雰囲気でした)

……ちょっとズレた話をしてしまいました。本題に戻りましょう。

設定

とりあえず、サクッとHTTPの通信内容を確認してゆきます。burpで確認するためには、サイトにアクセスするブラウザの設定が必要となります。プロキシ型、なので、ブラウザでプロキシ設定する必要がありますね。

  • 設定方法

まず、burp proxy がTCPの何番ポートで待ち受けをしているのかを確認します。burpのproxyタブを選択、その下段にあるオプションタブを選びます。でてきた画面の一番上にproxy listeners という、項目があるのでそれを見ます。
f:id:roboneco:20150506150001p:plain
今回の場合は、プロキシサーバのアドレスは127.0.0.1で8080ポートでした。

これを、サファリ側で設定してやります。
「システム環境設定」→「ネットワーク」→「詳細」→「プロキシ」
これを、以下のように設定します。(追記:あ、すいませんポート番号のところに打ち間違えがありますね。正しくは8080です)
f:id:roboneco:20150506150426p:plain

使ってみる

さて、早速なんか適当なページにアクセスしてみましょう。すると、proxyのinterceptタブが赤くなります。

なんかGETめそっとが見えていたら、多分ちゃんとキャプチャできてる・・・はず!
それで、このままForwardをクリックするとブラウザ側でページが表示されます。

ちなみに、この状態でブラウザからのリクエストを改ざんすることが可能で、改ざんしてからForwardをクリックすると改ざんしたリクエストを対象サーバに送ることができます。

リクエストを送りたくないときはdropを、intercept自体をしたくないときはintercept is onを、burp のproxy以外の機能に送りたい場合はactionボタンを選択すると良いっぽいです。