ローカルプロキシツール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に加える
端末の設定を行う。
6.iPnone/Androdと繋げるため証明書を取得する
端末のブラウザを開き端末(スマートフォン)とPCが接続しているネットワークのIPアドレスを入力する。
CA certificateを選択して証明書をインストールする。
証明書をインストールデフォルトだと拡張子は .derでダウンロードできる。
(Androidの場合拡張子は.cerに変更してインストールする必要がある)
7.インストールしたらProxyをPCのburpで設定したものと揃える
8.burpを起動してHTTP historyを選択する
通信が見れます!
これを使えば
通信処理のリクエストが送れているか?
レスポンスが返ってきているか?
どんな値なのか?
可視化できます。
以上、Burpの説明でした。