i-Vinci TechBlog
株式会社i-Vinciの技術ブログ

Burp Suiteを初めて使ってみた

今年に入り、河原で焚火スポットを見つけて週末通っているAbeです。
最近の案件で脆弱性対応を担当し、Burp Suiteというツールを初めて使ったので記事にまとめたいと思います。

Burp Suiteとは?

Burp SuiteはPortSwigger社が開発したWebアプリケーションのセキュリティテストツールです。主にペネトレーションテストや脆弱性診断に使用され、以下のような機能を提供しています。

  • プロキシ機能:ブラウザとサーバー間の通信をキャプチャし、内容の閲覧・改ざん。
  • リピータ機能:特定のリクエストを繰り返し送信し、レスポンスを分析。
  • イントルーダ機能:パラメーター化された攻撃を自動化し、脆弱性を検出。
  • スキャナ機能:自動的にWebアプリケーションの脆弱性をスキャン。(有料版)

Burp Suiteで出来ること

Burp SuiteはWebアプリケーションのセキュリティ診断で幅広く利用されているツールの一つになります。具体的に以下のようなことが可能です。

  • HTTPリクエスト/レスポンスの傍受と分析:通信内容を確認し、脆弱性を特定
  • リクエストの改変と再送信:特定のリクエストを編集し、異なるパラメータで再送信した挙動を確認可能
  • 自動化された攻撃の実行:ブルートフォース攻撃やファジングなど、様々な攻撃を自動化して実施可能
  • データのエンコード/デコード:データのエンコードやデコード、ハッシュ計算が可能

Burp Suiteを実際に使ってみる

Burp Suiteは沢山機能がありますが、今回はリクエストの改ざんに挑戦したい思います。

1. Burp Suiteのダウンロード

公式ページから無料版をダウンロードすることができます。

2. Burp Suiteを起動

起動したらデフォルト設定のまま開始します。
「Temporary project」>「Next」>「Use Burp defaults」>「Start Burp」でBurp開始。
ステップ1 alt

ステップ2 alt

3. Burp Suiteブラウザを起動

Burp Suiteの「Proxy」>「Intercept」を選択すると以下のような表示になり、右側の「Open browser」をクリックするとBurp Suite用のブラウザが起動します。
ステップ3 alt

ステップ4 alt

4. サンプルページを表示

今回、Burp Suiteブラウザでlocalhostを利用しようとしたのですが、設定が上手くできなかったためVercelを利用して簡単な機能をデプロイして利用しています。機能としては「購入する」を押すと価格がリクエストボディーとしてAPIにリクエストPOSTされ、結果を画面出力するというものです。
サンプルサイト alt

5. リクエスト内容確認

Burp Suiteに戻り、左側にあるボタンで「Intercept off」から「Intercept on」に切り替えます。その後、ブラウザに戻り再度「購入する」を押すとBurp Suite側にリクエストの内容が表示され、商品名・価格がリクエストボディに設定されていことが分かります。
リクエスト内容確認 alt

6. リクエスト内容改ざん

リクエスト内容を改ざんするには表示された「"price":1000」を「"price":500」に変更し、上の「Forward」ボタンを押すだけです。するとAPIにリクエストがPOSTされ画面の結果も「購入完了: Premium Widget - ¥500」になっていますね。
リクエスト内容改ざん alt

改ざん結果 alt

さいごに

あまり自分で利用することのなかった脆弱性診断ツールですが、様々な機能が使いやすく提供されており、簡単に調査することができました。
今回の経験は品質の良い製品を安全に作るためにも脆弱性について考える良い機会になり、今後も安全性向上にむけて積極的に使っていきたいと思います。
最後までお付き合いいただきありがとうございました。

参考