Webアプリケーションの脆弱性診断を進めるうえで、業界標準ツールとしてまず名前が挙がるのがBurp Suiteです。世界中のセキュリティエンジニアが日常的に使う定番ツールで、無料のCommunity Editionから始められる手軽さも魅力ですが、実際に自社で運用する段階になると判断すべきポイントが多く出てきます。
本記事では、Burp Suiteの仕組みやエディションの違い、基本的な診断フロー、XSSやSQLインジェクションの検出手順を整理したうえで、組織として継続運用する際の課題と、自社に合う診断体制の選び方までを解説します。
Burp Suiteとは?仕組みと3つのエディション
Burp Suiteは、英国PortSwigger社が開発するWebアプリケーション脆弱性診断ツールです。
ブラウザとWebサーバー間のHTTP/HTTPS通信を中継し、リクエストやレスポンスの中身を確認・改ざんできる「ローカルプロキシ」の仕組みで動作します。まず仕組みと主要機能を整理し、続いてエディションの違いを見ていきます。
通信を止めて中身を書き換える ローカルプロキシの仕組み
通常はブラウザがWebサーバーに直接リクエストを送りますが、Burp Suiteを使うとブラウザ→Burp Suite→Webサーバーという経路に変わります。Burp Suiteはこの中間に立ち、すべての通信を観察できる位置から、リクエストやレスポンスを必要に応じて書き換えてサーバーに送ったり、ブラウザに返したりできます。
※ なお、現在の主流であるHTTPS(暗号化通信)を中継するためには、事前にブラウザへBurp Suiteの「CA証明書」をインストールする必要があります。
この「通信を止めて中身を書き換えられる」性質が脆弱性診断の核心であり、通常のブラウザ操作では送信値を直接編集できないところを、パラメータを任意の文字列に置き換えてサーバーがどう反応するかを確認できます。
診断で中心的に使う主要モジュールは次の通りです。
| モジュール | 役割 |
|---|---|
| Proxy | ブラウザとサーバー間の通信を傍受・改ざん・記録する中核機能 |
| Repeater | 傍受したリクエストを編集して何度でも再送信できる手動診断の中心 |
| Intruder | ペイロードリストを自動挿入・連続送信する。辞書攻撃やファジング向き |
| Scanner | 既知パターンに基づく自動脆弱性スキャン(Professional版以上) |
このほか、エンコード変換のDecoder、2つのレスポンスの差分比較のComparer、セッショントークンの乱数性を分析するSequencerといった補助ツールも統合されています。まずはProxyとRepeaterから触り始め、慣れてきたら他の機能を試していくのが定石です。
無料版と有料版、どちらを選ぶべき?
| 項目 | Community Edition | Professional | Enterprise Edition |
|---|---|---|---|
| 価格 | 無料 | 年額ユーザー単位(有償) | 要問い合わせ(組織単位) |
| 用途 | 個人の学習・試用 | 診断員による手動・自動診断 | 開発ライフサイクルへの自動組み込み |
| Scanner | × | ○ | ○(自動化対応) |
| Intruder | デモ版(送信速度制限) | フル機能 | フル機能 |
| プロジェクト保存 | × | ○ | ○ |
| CI/CD統合 | × | × | ○ |
Community Editionでも基本的な手動診断は一通り行えるため、学習段階や個人での試用には十分です。ただしIntruderはデモ版で送信速度制限があり、Scannerも使えません。業務で本格的に診断を行うならProfessional版が必要で、ライセンスはユーザー単位のサブスクリプション制で診断員個人に紐づきます。Enterprise Editionは組織全体での自動化された継続診断向けで、CI/CD統合やスケジュールスキャンに対応します。
まとめると、学習目的ならCommunity Edition、業務で本格的に診断するならProfessional版、組織全体での継続的な自動診断を回したいならEnterprise Editionが基本の選択肢です。
※参考:PortSwigger|Download Burp Suite Community Edition、PortSwigger|Subscribe to Burp Suite Professional
Burp Suiteのインストールと初期設定
PortSwigger公式のダウンロードページからCommunity Editionのインストーラを取得します。Windows・macOS・Linuxに対応しており、Java環境はインストーラに同梱されているため別途用意する必要はありません。インストール完了後、初めて起動する際は以下の手順で進めます。
- プロジェクトの選択:初回起動時は「Temporary project(一時プロジェクト)」しか選択できないため、そのまま「Next」をクリックします。
- 設定の選択:「Use Burp defaults(デフォルト設定を使用)」が選択されていることを確認し、「Start Burp」をクリックします。
- メイン画面の起動:数秒〜十数秒で、各モジュールが統合されたBurp Suiteのメイン画面が起動します。
※参考:PortSwigger|Download Burp Suite Community Edition
ブラウザと連携させて通信をキャプチャする
Burp Suiteで脆弱性診断(通信の傍受・改ざん)を行うには、ブラウザとBurp Suiteを連携させる設定が必要です。これには「内蔵ブラウザを使う方法」と「普段のブラウザを使う方法」の2通りがあります。
①内蔵ブラウザ(Chromium)を使用する方法
Burp Suiteで通信を傍受するには、ブラウザとBurp Suiteを連携させる設定が必要です。最も簡単な方法はBurp Suite内蔵ブラウザ(Chromiumベース)を使うことで、Proxyタブ → Interceptサブタブの「Open browser」をクリックするだけで起動します。
内蔵ブラウザを開いてURLを入力した際、画面が「ぐるぐる」と読み込み中のまま進まないことがあります。これは、Burp Suiteが通信を一時停止して待機している状態のためです。画面上部にある「Intercept is on」というボタンをクリックして「Intercept is off(傍受オフ)」に切り替えることで、通信がそのまま通り、ページが表示されるようになります。
内蔵ブラウザならプロキシ設定もCA証明書のインポートも不要で、起動した時点でHTTPS通信をキャプチャできる状態になります。学習段階ではこちらが推奨です。
②普段使っているブラウザ(Chrome、Firefoxなど)を使用する方法
普段使っているブラウザ(Chrome、Firefoxなど)でキャプチャする場合は、プロキシを「127.0.0.1:8080」に向け、http://burpにアクセスして取得するCA証明書をブラウザにインポートする必要があります。HTTPS通信の復号にはこの証明書のインポートが必須で、設定しないとブラウザがエラーを出して通信が成立しません。
Burp Suiteで脆弱性を診断する4つのステップ
Burp Suiteを使った手動診断は、次の4ステップで進めるのが基本です。インストールやCA証明書設定の詳細はPortSwigger公式ドキュメントに譲り、ここでは実際の診断フローに焦点を当てます。なお、内蔵ブラウザ(Proxyタブ → Open browser)を使えばCA証明書設定なしでHTTPS通信をキャプチャできるため、学習段階ではこちらが推奨です。
なお、脆弱性診断は必ず自分が管理するサーバーか、許可を得た対象にのみ実施してください。許可なく他人のサイトに攻撃コードを送信した場合、意図がなくても「不正アクセス禁止法」などの法律に抵触し、処罰される恐れがあります。
練習には脆弱Webアプリ「DVWA」や「OWASP Juice Shop」を使うのが安全です。
| ステップ | 使用機能 | 内容 |
|---|---|---|
| 1. Scope設定 | Target | 診断対象URLを指定し、無関係な通信を除外する |
| 2. 通信キャプチャ | Proxy | 対象サイトを操作し、HTTP historyに通信を記録する |
| 3. 手動検証 | Repeater | 気になるリクエストをパラメータ改ざんして再送する |
| 4. 自動試行 | Intruder | 大量のペイロードを連続送信して挙動の差分を見る |
まずScope設定で診断対象URLを絞り込んでから操作を始めると、HTTP historyやIntruderの結果に無関係な通信が混在せず、作業効率が上がります。
RepeaterとIntruderはどう使い分ける?
4ステップの中でも実際に時間を使うのがRepeaterとIntruderです。診断で中心となる2つの機能の使い分けを押さえておきます。
Repeaterは、傍受したリクエストを手動で編集して何度でも再送信できる機能です。HTTP historyで対象リクエストを右クリック → 「Send to Repeater」で送り、パラメータ値を書き換えて「Send」を押すと右ペインにレスポンスが表示されます。たとえば「id=1」を「id=2」「id=999」「id=1'」のように変えてレスポンスを比較し、本来見られないはずの情報が漏れていないか、エラーから内部構造が見えていないかを確認していくのが基本動作です。
Intruderは、同じパラメータに大量のパターンを試したい場合に使います。「Send to Intruder」で送ったあと、Positionsタブで攻撃対象のパラメータ位置を「§」で囲んで指定し、Payloadsタブにペイロードリストを登録して「Start attack」を押すと自動送信が始まります。
Intruderには4つのアタックタイプがあります。
| アタックタイプ | 動作の仕組み | 主な用途 |
|---|---|---|
| Sniper(スナイパー) | 指定した1ヶ所のパラメータに、用意したリストを上から順に1つずつ挿入する。 | 単一パラメータのファジング※注釈、ログインIDの列挙など(基本はコレ) |
| Battering ram(バタリングラム) | 指定した複数ヶ所のパラメータに、まったく同じ文字列を同時に挿入する。 | ユーザー名とパスワードに同じ文字列を入れて試す場合など |
| Pitchfork(ピッチフォーク) | 複数のパラメータに対して、別々のリストを1対1で対応させて同時に挿入する。 | 「IDリスト」と「そのIDに対応するパスワードリスト」をセットで試すとき |
| Cluster bomb(クラスター爆弾) | 複数のパラメータに対して、すべての組み合わせ(総当たり)を試行する。 | IDリスト × パスワードリストの完全な総当たり(ブルートフォース攻撃) |
※ ファジング(Fuzzing)とは:システムに予測不可能なデータ(記号や極端に長い文字列など)を大量に入力し、意図しないバグや脆弱性をあぶり出すテスト手法のこと。
最初はSniperだけ覚えておけば十分で、使い込むにつれて他のタイプを活用していく流れになります。Community EditionのIntruderは送信速度制限がかかるため、大量試行にはProfessional版が必要になります。
XSSとSQLインジェクションを実際に検出してみる
4ステップの基本フローを応用すると、代表的な脆弱性を実際に検出できます。XSS(クロスサイトスクリプティング)とSQLインジェクションは、OWASP Top 10にも継続して位置づけられているWebアプリケーションの代表的脆弱性であり、Burp Suiteで最初に習得すべき診断対象です。
Reflected XSSを検出する
Reflected XSSは、ユーザー入力がレスポンスにそのまま反映される箇所(検索フォーム、コメント入力欄、エラーメッセージに表示される入力値など)で発生します。Repeaterでパラメータ値に「<script>alert(1)</script>」を挿入してSendし、レスポンスHTMLに同じ文字列がエスケープされずに含まれていれば、Reflected XSSが成立する可能性が高い状態です。「<script>」のようにエスケープされていれば、その箇所では対策が機能していると判断できます。
SQLインジェクションを検出する
SQLインジェクションは、入力値がデータベースクエリに直接組み込まれる箇所(ログインフォーム、検索フォーム、IDをパラメータで渡すページなど)で発生します。最初の検出手段は、パラメータにシングルクォート(')を1文字付与することです。Repeaterで該当パラメータの末尾に'を加えてSendし、レスポンスにSQL構文エラーや500エラーが返ってくれば、入力値がそのままクエリに組み込まれている可能性が高まります。さらに' OR '1'='1や' OR 1=1 --といった典型的なペイロードを試して、本来失敗すべきログインが成功するなどの異常な挙動が観察できれば、SQLインジェクションの兆候です。
Burp Suiteを組織で使い続けるときの課題
ここまでの基本フローを実際に試してみると、Burp Suiteが強力なツールであることが実感できるはずです。一方、これを「組織として継続的に運用する」段階になると、ツールの機能とは別の課題が見えてきます。内製化を検討するなら、以下の4つの課題はあらかじめ知っておきたいところです。
- 診断には高度な専門スキルが必要
- 担当者が辞めたら診断が止まる属人化問題
- 定期的に診断を続けるのは工数がかかる
- 「どこまで診たか」の基準が人によって変わる
診断には高度な専門スキルが必要
SQLインジェクション・XSS・認可制御不備などの攻撃パターンに加え、HTTPプロトコルやセッション管理の仕組みなどWeb全般の深い知識が求められます。セキュリティエンジニアとして数年単位の経験で身につくスキルセットであり、兼務で始めてすぐに実践的な診断ができるわけではありません。
担当者が辞めたら診断が止まる 属人化問題
手動診断のノウハウ・判断基準は個人に蓄積されやすく、Burp Suite自体に組織の資産として残す仕組みもありません。担当者の退職や異動によって「前任者しかツールの使い方も診断の仕方も分からない」といったブラックボックス状態に陥り、セキュリティ体制がゼロからの立て直しになってしまうケースは少なくありません。
定期的に診断を続けるのは工数がかかる
通信を一つずつ観察してパラメータを手動で書き換える性質上、診断対象の規模に比例して時間がかかります。機能追加・改修のたびに手動診断を行おうとすると開発スピードに追いつけず、診断を省略してリリースするか、リリースが遅れるかの二択に陥りがちです。
ツールで脆弱性を見つけることはスタートに過ぎません。組織運用では、発見された脆弱性の危険度を評価し、修正の優先順位をつけ、パッチ適用状況を追跡する「脆弱性管理」のプロセスが不可欠です。これを怠ると、せっかくBurp Suiteで見つけたリスクが放置され、結果的にサイバー攻撃の被害に遭うリスクを解消できません。
「どこまで診たか」の基準が人によって変わる
検査範囲や深さが診断員のスキル・経験に依存するため、同じ対象でも人が変われば結果が変わります。手動診断の強みは「ロジックの隙を突く深さと柔軟性」ですが、弱みは「網羅性と再現性の低さ」です。反対に、自動診断の強みは「誰がやっても同じ結果になる網羅性と再現性」にあります。
自社に合う脆弱性診断体制の選び方
Burp Suiteの運用課題を踏まえると、脆弱性診断体制の選択肢は大きく3つに整理できます。自社の人材・予算・継続性のニーズによって適切な組み合わせが変わります。
| 体制 | メリット | デメリット | 向いているケース |
|---|---|---|---|
| 内製化(手動診断) | コスト抑制、社内ノウハウ蓄積 | 属人化、教育コスト | セキュリティ人材を確保できる |
| SaaS型診断ツール | 専門知識不要、継続診断、結果の標準化 | 月額費用、ロジックのカスタマイズ限界 | 定期診断が必須、専任人材が限定的 |
| 外部委託 | 専門性の高さ、診断品質 | 高コスト、継続性に難 | 重要システム、年1〜2回の集中診断 |
状況別!診断体制の選び方
3つの体制は排他的ではなく、組み合わせて使うのが一般的です。自社の状況に応じた現実的な体制パターンは次の通りです。
| 状況 | 推奨される体制 |
|---|---|
| セキュリティ人材が豊富 | Burp Suite Professionalで内製化を主軸に、年1回程度の外部委託で第三者の目を入れる |
| 人材は限定的だが継続診断が必要 | SaaS型脆弱性診断ツールを軸に、重要案件のみスポットで外部委託 |
| 小規模で予算重視 | Burp Suite Community Editionで基本診断を行い、必要時のみ外部委託 |
いずれの体制でも、Burp Suiteによる手動診断スキルが社内にあれば、外部委託の結果を理解したり、自動診断ツールの結果を検証したりする際の強みになります。
継続的に診断を回したい場合の選択肢
「Burp Suiteによる手動診断は理解できたが、継続運用となると人手と時間が足りない」という状況に直面する企業は少なくありません。属人化を避けつつ定期的に診断を回すには、SaaS型自動診断ツールや専門家サービスの活用が現実的な選択肢になります。
ユービーセキュアでは、自動診断対応の脆弱性診断ツール「Vex」、専門家による診断コンサルティング、自社で診断体制を構築するための内製化支援サービスを提供しています。「Burp Suiteで内製化したいが進め方に迷う」「自動化と手動診断をどう組み合わせるか相談したい」といった段階から、無料で相談できます。
まとめ
Burp Suiteは、Webアプリケーション脆弱性診断における業界標準ツールであり、Scope設定 → Proxy → Repeater → Intruderの4ステップでXSSやSQLインジェクションといった代表的な脆弱性を検出できます。Community Editionから手動診断を習得し、必要に応じてProfessional版にステップアップしていくのが現実的な学習ルートです。
一方、組織として継続運用する段階では、スキル依存・属人化・工数負担・網羅性の担保といった課題が出てきます。自社に合う診断体制は「内製+手動診断」「SaaS型ツール」「外部委託」を組み合わせて設計するのが現実的で、Burp Suiteによる手動診断一本で完結させるのではなく、自動診断ツールや外部専門家との役割分担を前提に考えることが運用を回す鍵になります。
判断に迷う場合は、脆弱性診断ツール「Vex」・診断コンサルティング・内製化支援を一貫して提供するユービーセキュアの無料相談をご活用ください。まずは自社の現状と課題を整理するところから、次の一歩を踏み出してみてはいかがでしょうか。
