ローカルプロキシツールBurpについて説明します。
Burpとは
Webアプリケーション開発時の検証において、Webサーバとブラウザ間の通信内容を確認するケースがあると思いますが、このような時にローカルプロキシツールはとても役に立ちます。 Burp Suiteは様々な機能を持っており、その中で私が最も使う機能は「Proxy」です。 診断やデバッグに必須の機能で、通信処理を確認できるので APIからレスポンスは返ってきているのか? 無駄な通信処理は行ってないか? 通信処理を行うアプリケーションには必須のデバッグツールとなっております。 ローカルプロキシツールは、クライアントマシン上で動作します。これによりブラウザからのリクエストを一旦キャプチャして、内容を変更した上でWebサーバへリクエストすることができるようになります。 これによりブラウザからのリクエストを一旦キャプチャして、内容を変更した上でWebサーバへリクエストすることができるようになります。Burpの設定では大きくPC側の設定(プロキシサーバの構築)と端末側の設定で分かれます。
プロキシサーバーを構築後、端末設定を行う必要があるため手順に注意して下さい。
PC側の設定(プロキシサーバ構築)を行う
Proxy(プロキシサーバ)とは
プロキシ(代理)という言葉が示す通り、インターネット上の目的のコンテンツ(Webページやファイル等)をユーザのコンピュータの代わりに取って来てくれる機能を提供するサーバです。 中継しているため、通信処理の取得が可能となっております。1.Burp SuiteのFreeEditionをダウンロードし起動する
2.Proxyを選択してIntercept offにする
3.wifi環境を設定
4.Addを選択しネットワークを選択する
5.Specific addressを選択してBurpに加える
これでPC側の設定(Proxyサーバー)の出来上がりです。端末の設定を行う。
6.iPnone/Androdと繋げるため証明書を取得する
端末のブラウザを開き端末(スマートフォン)とPCが接続しているネットワークのIPアドレスを入力する。 CA certificateを選択して証明書をインストールする。 証明書をインストールデフォルトだと拡張子は .derでダウンロードできる。 (Androidの場合拡張子は.cerに変更してインストールする必要がある)7.インストールしたらProxyをPCのburpで設定したものと揃える
8.burpを起動してHTTP historyを選択する
通信が見れます!
これを使えば
通信処理のリクエストが送れているか?
レスポンスが返ってきているか?
どんな値なのか?
可視化できます。
以上、Burpの説明でした。