Burp Proxyは検索と置換ルールの設定により、Burpブラウザを使って通常通り対象アプリケーションを探索しながら、リクエストとレスポンスを自動的に変更ができます。これにより例えば、リクエストやレスポンスのヘッダの追加、削除、変更ができます。
IPアドレスの偽装に使えるなど、さまざまな使い道があります。場合によっては、あなたがローカルネットワークに接続しているとサーバに信じ込ませ、他の方法ではアクセスできない内部環境と通信できる可能性があります。
このチュートリアルでは、次の手法を学びます:
Burpブラウザは、暗号化されたHTTPSプロトコルでもHTTP通信を簡単にプロキシできます。設定は不要で、Proxyタブを開き、ブラウザを開くをクリックし、Intercept無効になっているか確認してください。
Burpブラウザを開き、次のラボにアクセスします:
https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-authentication-bypass
/admin
にある管理画面にアクセスしてみてください。
ただし、ローカルユーザしかアクセスできないため、拒否されます。
簡単のために、サーバはX-Custom-IP-Authorization
というカスタムHTTPヘッダを使って、あなたのIPアドレスを識別していることを発見したと仮定します。
実サイトでこのような制御をする場合は、事実上の標準ヘッダーであるX-Forwarded-For
がよく使われますが、それ以外のカスタムヘッダを使用しているサイトに遭遇することもあります。これらは通常、ロードバランサやCDNのリバースプロキシなどの中継サーバが、ユーザからのリクエストに付与します。
Burp Suiteで、Proxy > オプションタブに移動します。
検索と置換で、追加をクリックします。
検索フィールドは空欄のままにしておきます。こうすると、Burpが既存のヘッダを置き換えるのではなく、リクエストに新しいヘッダを追加します。
置換フィールドに、次の様に入力します:
X-Custom-IP-Authorization: 127.0.0.1
OKをクリックします。
Burp Proxyは、Burpブラウザが行うすべてのリクエストにこのヘッダを追加するようになります。
Burpブラウザで、もう一度/admin
にアクセスしてみてください。管理ページにアクセスしCarlosを削除すると、ラボの課題を突破できることを確認してください。
BurpのLoggerタブでリクエストを確認すると、ヘッダが追加されたことを確認できます。
あるいはProxy > HTTP履歴タブで、ブラウザが送信した元のリクエストと、Burp Proxyが変更した後にサーバに転送したリクエストを、ドロップダウンメニューで切り替えられます。
今回はカスタムヘッダを手動で追加しましたが、Burp Suiteには検索と置換ルールが多数内蔵されており、最も一般的なユースケースは対応できます。Proxy > オプション > 検索と置換で有効にするだけです。
おめでとうございます - Burp Proxyの検索と置換ルールの使い方がわかり、IPアドレスの偽装に使用できました。
このラボの突破に使用したカスタムヘッダを発見する方法は、Webセキュリティアカデミーの学習教材を参照してください。
認証に関する一般的な情報やBurp Suiteを使用して実行できる他のタイプの攻撃については、Webセキュリティアカデミーの認証のトピックを参照してください。