「Blind SSRF in Skype (Microsoft)」からSSRFを学ぶ

ソース:

infosecwriteups.com

脆弱性:SSRF

 

訳:

サーバー側リクエスト フォージェリは、攻撃者が攻撃者が制御するネットワークの場所/パスに対してサーバー リクエストを行うことを可能にする脆弱性で。

 

Burp for Skype for Web でリクエストを分析しているときに、 *.*.skype.com/path?url=https://example.com にエンドポイントが見つかり。
URLパラメータが興味深いように見えたので、ngrokインスタンスで URL を変更しようとしました。ヒットしました! 

 

サーバーに任意の Web ページをヒットさせることはできましたが、完全な応答を得ることができず。
選択したいくつかの HTML タグからは、ステータス コード、コンテンツ タイプ、応答のコンテンツ長 (サイズ)、およびテキスト コンテンツのみを取得でき。
つまり、予想されるような完全な SSRF ではなく、ブラインド/部分的な SSRF で。 

 

以下のパスにアクセスしようとしました —

  1. ローカルホスト/内部 IP アドレス -> 失敗
  2. URL リダイレクト/URL 短縮メソッドを使用してローカルホスト/内部 IP アドレスをバイパスしようとしました -> 失敗しま
  3. 外部 IP アドレス/Web ページ -> 成功
  4. 共通の Azure/AWS/DigitalOcean メタデータ IP アドレス -> 失敗
  5. エンドポイントを使用して 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 が含まれている可能性があることを確認し。

 

ほなほな。