プロキシとインターセプト
リクエストを取得します
「プロキシとインターセプト」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。
Burp Suiteとは
Burp Suiteは、Webアプリケーションのセキュリティをテストするための統合プラットフォームです。ブラウザーと対象サーバーの間にインターセプトプロキシとして入り、すべてのHTTP/HTTPSリクエストとレスポンスを確認・変更できます。
- Proxy — トラフィックをインターセプト
- Repeater — リクエストを手動で再送
- Intruder — ファジングを自動化
- Scanner — 脆弱性を検出(Pro)
インターセプトプロキシ
BurpのProxyは、ローカルポート(デフォルトは127.0.0.1:8080)で待ち受けます。ブラウザーがすべてのトラフィックをそこ経由で送信するよう設定すると、Burpはリクエストがサーバーに到達する前に一時停止できます。
この中間者としての位置により、Webテストが可能になります。隠しパラメーターやヘッダーを含め、アプリケーションが送信する内容を正確に確認できます。
Proxy listener: 127.0.0.1:8080
Browser proxy setting -> HTTP/HTTPS host 127.0.0.1 port 8080ブラウザーを設定する
ブラウザーの接続先をBurpのリスナーに設定します。最も簡単なのはFoxyProxyのようなブラウザー拡張機能を使う方法です。または、あらかじめ設定済みのBurp内蔵Chromiumブラウザー(Proxy > Intercept > Open Browser)を使用できます。
FoxyProxy profile:
Proxy Type: HTTP
Host: 127.0.0.1
Port: 8080BurpのCA証明書をインストールする
HTTPSをインターセプトするため、Burpは実行時に独自の証明書を生成します。BurpのCA証明書をインストールしない限り、ブラウザーはその証明書を信頼しません。
プロキシの実行中にhttp://burpへアクセスし、cacert.derをダウンロードして、ブラウザーまたはOSの信頼ストアにインポートします。
Browse to: http://burp
Download: cacert.der
Import into: Trusted Root Certification Authoritiesインターセプトのオンとオフ
Proxy > Interceptでは、Intercept is onを有効にすると各リクエストが一時停止し、転送前に読んだり編集したりできます。インターセプトをoffにするとトラフィックはそのまま流れますが、HTTP履歴には記録されます。
一時停止したリクエストを送信するにはForward、破棄するにはDropを使います。
取得したリクエストを読む
インターセプトしたリクエストには、メソッド、パス、ヘッダー、ボディが表示されます。転送前に任意の部分をその場で編集できます。たとえば、パラメーターの変更、ヘッダーの追加、Cookieの改変などが可能です。
POST /login HTTP/1.1
Host: target.local
Content-Type: application/x-www-form-urlencoded
Cookie: session=abc123
username=admin&password=testHTTP履歴
Proxy > HTTP historyタブには、インターセプトがオフの場合も含め、Burpを通過したすべてのリクエストが記録されます。各エントリにはURL、ステータス、長さ、MIMEタイプが記録されます。これがセッション全体のタイムラインになります。
エントリを右クリックすると、Repeater、Intruder、その他のツールに送信できます。
対象範囲を設定する
実際のアプリケーションでは、分析ツール、CDN、サードパーティーによるノイズが発生します。Target > Scopeで対象範囲を定義し、テストを許可されたホストだけに限定します。
"And URL Is in target scope"フィルターを有効にすると、履歴を整理し、対象範囲外のシステムに触れるのを避けられます。
Target > Scope > Include in scope:
https://target.local/.*Match and Replaceルール
Proxy > Match and replaceでは、すべてのリクエストまたはレスポンスの一部を自動的に書き換えられます。たとえば、User-Agentを偽装したり、動作を調べるためにセキュリティヘッダーを削除したりできます。
Type: Request header
Match: ^User-Agent.*$
Replace: User-Agent: BurpTest/1.0インターセプトが重要な理由
通信中のリクエストを編集できれば、クライアント側の検証(JavaScript、隠しフィールド、無効化されたボタン)は簡単に回避できます。インターセプトにより、UIが許可する内容と、サーバーが実際に強制する内容の違いが明らかになります。
必ずサーバー側の制御をテストし、クライアントを決して信頼しないでください。
合法かつ倫理的な利用
トラフィックのインターセプトは強力で侵入的な操作です。Burpは、所有しているシステム、またはテストについて書面による許可を得たシステムに対してのみ使用してください。対象範囲を正確に定義し、それを厳守します。
無許可でのインターセプトは、ほとんどの法域で違法です。
クイックチェック
Burpのプロキシについて理解度を確認しましょう。
まとめ
Burp Suiteのインターセプトプロキシの仕組みを学びました。
- Burpは
127.0.0.1:8080で待ち受け、ブラウザーはそこを経由してトラフィックを送信します - CA証明書をインストールするとHTTPSをインターセプトできます
- Interceptは編集のためにリクエストを一時停止し、HTTP historyはすべてを記録します
- Scopeにより、テスト対象を許可された範囲に限定できます
次はRepeaterとIntruderでリクエストを変更し、ファジングします。
よくある質問
「プロキシとインターセプト」レッスンは無料ですか?
はい。「プロキシとインターセプト」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。
「プロキシとインターセプト」で何を学びますか?
リクエストを取得します ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ethical Hacking Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「プロキシとインターセプト」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEthical Hacking Academyレッスンでコードを書いて実行できますか?
はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- プロキシとインターセプト
- RepeaterとIntruder
- Scanner
- Extensions