🌐

macOS × Chrome でローカルプロキシツール Burp Suite を利用する

2021/06/21に公開

概要

脆弱性診断のために、ローカルにプロキシを立ててリクエストなどをキャプチャし、データ改ざんなどを実施してテストする機会があった。

私の場合 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 の設定

  1. Burp Suite をダウンロード及びインストールし起動
    • burpsuite_community_macos_v2021_5_2.dmg のような名前のファイルが取得できるので実行し、全てデフォルト設定でインストールを完了する
  2. デフォルト設定でプロジェクトを作成

  3. レスポンスもキャプチャできるように Proxyタブ > Optionsタブ > Intercept responses based on the following rules: にチェック
    • Proxy設定はデフォルトで 127.0.0.1:の8080 が設定されているので既に使用済みなどで変更したい場合は変更する

Google Chrome の設定

  1. 証明書を設定
    • ブラウザで http://127.0.0.1:8080 または 自分で設定した Burp Suite のアドレスにアクセスし、右上の CA Certificate をクリックして証明書をダウンロードする
    • キーチェーンアクセスに画像のように保存されるので、「常に信頼」に設定する
  2. Chrome 拡張機能 Proxy SwitchySharp を追加
  3. Proxy Profiles を設定
    • Profile Name: 適当
    • HTTP Proxy: 127.0.0.1 Port: 8080 (HTTPS もプロキシしたい場合はHTTPS Proxy に同じ内容を入力)
    • No Proxy For を <-loopback> (localhostをinterceptするために必要)
  4. 設定した Proxy Profiles を有効化
    • Proxy したくない場合は Direct Connection を指定する
    • このように Proxy するかを簡単に切り替えられるため Proxy SwitchySharp を利用する

実際に利用する

Burp Suite で Proxy > Intercept > Intercept is on に設定し、http://localhost:3000 でローカルアプリを構築し、Chrome でアクセスするとリクエストをキャプチャできるようになる。

参考

Discussion