このビデオ (0:37)では、男はPythonを使用して単純なHTTPサーバーを起動し、リンクを使用して、起動したサーバーからファイルをフェッチします。しかし、これはどのように潜在的なセキュリティの脆弱性をもたらしますか?
ファイルが場所にアップロードされ、そのファイルがインターネット(この場合はHTTP python server)の一部のアドレスからフェッチされます。これによりSSRFのセキュリティの脆弱性が発生する原因とこの脆弱性悪用される?
サーバー側のリクエストフォージェリ(SSRF)攻撃では、攻撃者は脆弱なサーバーに悪意のあるリクエストを強制的に発行させます。
リンクされたビデオは、典型的なシナリオを示しています。多くのコミュニティWebサイトでは、リソースへのリンクを提供することができます。アップロードするプロフィール写真へのURL(StackExchangeもこれを行います)。次に、Webサーバーはそのリソースをフェッチして独自のCDNにダウンロードするか、何らかの方法で処理します。
ここで最も一般的な攻撃のアイデアは、サーバーのみがアクセスできるが、アクセスできないリソースをサーバーにフェッチさせることです。ファイアウォールの背後にあるイントラネットサーバー。
したがって、本物のプロフィール写真のURLの代わりにhttp://intranet/
へのリンクを指定し、サーバーが独自のイントラネットからページをフェッチしてコンテンツを公開することを期待できます。同様に、要求元サーバーではなく、ブロックされている可能性のある内部IPアドレスとポート番号を推測できます。有用なコンテンツが返されない場合でも、ターゲットIPが内部ネットワークに存在する場合は、応答時間を測定するか、エラーメッセージから結論を出すことができます。