ソース:
脆弱性:SSRF
訳:
サーバー側リクエスト フォージェリは、攻撃者が攻撃者が制御するネットワークの場所/パスに対してサーバー リクエストを行うことを可能にする脆弱性で。
Burp for Skype for Web でリクエストを分析しているときに、 *.*.skype.com/path?url=https://example.com にエンドポイントが見つかり。
URLパラメータが興味深いように見えたので、ngrokインスタンスで URL を変更しようとしました。ヒットしました!
サーバーに任意の Web ページをヒットさせることはできましたが、完全な応答を得ることができず。
選択したいくつかの HTML タグからは、ステータス コード、コンテンツ タイプ、応答のコンテンツ長 (サイズ)、およびテキスト コンテンツのみを取得でき。
つまり、予想されるような完全な SSRF ではなく、ブラインド/部分的な SSRF で。
以下のパスにアクセスしようとしました —
- ローカルホスト/内部 IP アドレス -> 失敗
- URL リダイレクト/URL 短縮メソッドを使用してローカルホスト/内部 IP アドレスをバイパスしようとしました -> 失敗しま
- 外部 IP アドレス/Web ページ -> 成功
- 共通の Azure/AWS/DigitalOcean メタデータ IP アドレス -> 失敗
- エンドポイントを使用して VM の正常性を判断するために使用でき、 あまり一般的には使用されませんが、Azure 関連の IP アドレス (168.63.129.16) -> 成功 -> この IP は、 http://168.63.129.16/metadata/v1/maintenance OK を返すはずです ( 200 ステータス コード)、VM が機能している場合。 ( こちらを参照してください)
URL パラメータ値をhttp://168.63.129.16/metadata/v1/maintenance に変更して。
応答のサイズが 2 バイトの 200 OK 応答が得られました。これは、応答テキストに応答に OK が含まれている可能性があることを確認し。
ほなほな。