🌐
macOS × Chrome でローカルプロキシツール Burp Suite を利用する
概要
脆弱性診断のために、ローカルにプロキシを立ててリクエストなどをキャプチャし、データ改ざんなどを実施してテストする機会があった。
私の場合 macOS で、ブラウザが Google Chrome であったため、この環境で最適と思われるツール群でローカルプロキシを立てたので備忘として手順を残しておく。
利用するツール
ツール名 | バージョン | 役割 |
---|---|---|
Burp Suite | 2021.5.2 | ローカルプロキシツール |
Google Chrome | 91.0.4472.77 | ブラウザ |
Chrome拡張機能 | 1.10.7 | Proxy SwitchySharp |
手順
大きくローカルプロキシツール側(Burp Suite)の設定と、ブラウザ側(Google Chrome)の設定に分かれる。
Burp Suite の設定
-
Burp Suite をダウンロード及びインストールし起動
-
burpsuite_community_macos_v2021_5_2.dmg
のような名前のファイルが取得できるので実行し、全てデフォルト設定でインストールを完了する
-
- デフォルト設定でプロジェクトを作成
- レスポンスもキャプチャできるように Proxyタブ > Optionsタブ > Intercept responses based on the following rules: にチェック
- Proxy設定はデフォルトで
127.0.0.1:の8080
が設定されているので既に使用済みなどで変更したい場合は変更する
- Proxy設定はデフォルトで
Google Chrome の設定
- 証明書を設定
- ブラウザで
http://127.0.0.1:8080
または 自分で設定した Burp Suite のアドレスにアクセスし、右上の CA Certificate をクリックして証明書をダウンロードする
- キーチェーンアクセスに画像のように保存されるので、「常に信頼」に設定する
- ブラウザで
- Chrome 拡張機能 Proxy SwitchySharp を追加
- Proxy Profiles を設定
- Profile Name: 適当
- HTTP Proxy:
127.0.0.1
Port:8080
(HTTPS もプロキシしたい場合はHTTPS Proxy に同じ内容を入力) - No Proxy For を
<-loopback>
(localhostをinterceptするために必要)
- 設定した Proxy Profiles を有効化
- Proxy したくない場合は Direct Connection を指定する
- このように Proxy するかを簡単に切り替えられるため Proxy SwitchySharp を利用する
実際に利用する
Burp Suite で Proxy > Intercept > Intercept is on に設定し、http://localhost:3000
でローカルアプリを構築し、Chrome でアクセスするとリクエストをキャプチャできるようになる。
Discussion