このチュートリアルでは、Burp Collaboratorクライアントの使用方法を説明します。攻撃者が制御できる任意のサーバに対して、対象サイトからリクエストが行われるように誘導できるかどうかをテストします。
Burpブラウザを開き、次のURLにアクセスします:
https://portswigger.net/web-security/ssrf/blind/lab-out-of-band-detection
Access the labをクリックしプロンプトが表示されたら、自分のPortSwiggerアカウントでログインします。すると、意図的に脆弱性を作り込んだあなた専用のショッピングサイトが開きます。
ブラウザで、いくつかの製品ページをクリックしてサイトを探索します。
Burpで、Proxy > HTTP履歴タブを開きます。
GET /product?productId=[...]
リクエストを右クリックし、Repeaterに送信を選択します。
Repeaterタブに移動します。Referer
ヘッダのURLを選択し、右クリックし、Collaboratorペイロードを挿入を選択します。すると、Referer
URLが、Collaboratorサーバが位置する次のようなURLに置き換わります:
204119i326shak9tnk6k36z8jlahj74r.oastify.com
リクエストを送信します。
Collaboratorサーバのドメイン名は変わる可能性があり、新規ドメイン名を定期的に追加します。詳細は、Burp Collaboratorクライアントを参照してください。
Collaboratorタブに移動します。Collaboratorクライアントは、60秒ごとに通信をポーリングするため、既にいくつかの通信が表示されているかもしれません。そうでない場合は、今すぐポーリングをクリックします。Collaboratorペイロードの結果として受信した通信が表示されます。これにより、任意のサーバに対して、対象サイトからリクエストが行われたことが確認できます。
ここでは、HTTP通信とDNS通信の両方が表示されています。通信をクリックすると、詳細が表示されます。
おめでとうございます。あなたは今、次ができました:
見えない脆弱性(今回はブラインドSSRF)の概念実証生成のためにBurp Collaboratorクライアントを使用する方法がわかりました。
このチュートリアルはあくまで初期の概念実証です。実サイトでこれらの挙動を悪用する方法については、Webセキュリティアカデミーを、特に下記を参照してください:
このチュートリアルでは、Burp Repeaterで1つの入力を手動でテストしました。実際には、複数の入力を一度にテストしたいでしょう。詳細は、Burp Collaboratorクライアントで複数の入力をテストを参照してください。