どうせなので書いとくことにしました。
概要
Burp Suite(ばーぷすいーと?)というローカルプロキシを使うとですね、HTTP通信の内容を見たり、改ざんできたりするわけなんですね。素敵!
(どう使うかは人しだい)
さっそくやって見ましょう。
(この記事では簡単なことしか紹介しません)
環境
今回macOS環境でやってますが、Windowsでもあんま変わらないと思います。
テスト用に使用するWebブラウザはFirefox使ってますが、プロキシ指定できればなんでもいいです。
正確にはFirefox 62.0.3使ってます。
Burp Suiteインストール
公式サイト(https://portswigger.net/burp)からBurp Suite Community Editionをダウンロードしてインストール。
インストール方法はめんどくさいし、書かないよ。
普通にインストールしてください。
Communityエディションは制約がたくさんありますが普通に遊ぶだけなら十分でしょう。
Burp Suite起動
起動するとスプラッシュスクリーンがでます
プロジェクト作成画面です。
無料のCommunity Editionでは一時的なプロジェクトしか作れないのでそのままNext
コンフィグの読み込み画面でますが、特に何もなければ、そのままStart Burp
起動中…
起動しました。
プロキシサーバー設定
一番上のタブからProxyを選択し、Proxyタブ内にあるOptionsタブを開きます。
デフォルトでローカルホストの127.0.0.1:8080にプロキシサーバーが立ち上がるようになってます。
外部PCのプロキシとして使いたい場合Addから使用するアドレスを追加してください。 (今回は説明しない!)
これでプロキシの設定は何もしていないけど完了です。
Firefoxのプロキシ設定
設定の一般ページの一番下にいますね。
接続設定を開いて、「手動でプロキシを設定する」にチェック入れます。
HTTPプロキシにlocalhost ポートに8080を指定します
(localhostの代わりに127.0.0.1でも可)
これでFirefoxのプロキシ設定は終了です。
実際に通信を見たりしてみる
BurpのProxyタブ内にあるInterceptタブを開き、Intercept is offのボタンを押して、Intercept is onにします。
その状態でFirefoxからhttp://example.com/にでもアクセスして見ましょう。
…
全然開きませんね…
ただこれが正常の動作です。
Burpを見て見ましょう。
なんかでてますね。
Rawタブに表示されてる内容は↓見たいな感じだと思います。
GET / HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:62.0) Gecko/20100101 Firefox/62.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ja,en-US;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 If-Modified-Since: Fri, 09 Aug 2013 23:54:35 GMT If-None-Match: "1541025663+gzip" Cache-Control: max-age=0
もろ、example.comのルートに対してGETを送っている情報ですね。
BurpはプロキシとしてInterceptがオンのとき、中間で通信を一度止めています。
この状態でForwardボタンを押すとそのままその通信を通し、Dropボタンを押すことでその通信を遮断させることができます。
Forwardボタンを押して、GETをそのまま送ったところページが表示されました。
Burpに戻り、Proxyタブ内のHTTP Historyを見てみると、example.comへのGETがあることが確認できます。
下半分のタブをResponseに変更すると、帰ってきたレスポンスを表示させることができます。
通信を改ざん
ここでは深く説明しません。 (別で解説するかもしれないけど
Interceptのタブの中で止めたリクエストはそのままBurpの中で書き換えることができます。
まとめ
なんか変な終わりだけど終わり。
コメント