web-dev-qa-db-ja.com

ホストヘッダーインジェクション攻撃のフロー?

私はこの分野に不慣れで、ホストヘッダーインジェクション攻撃でフローがどのように発生するかを知りたいです。

私はそれが以下のようであると信じています:

  1. クライアントがリクエストを生成します。

  2. 攻撃者はリクエストを操作し、ホストヘッダー(たとえばexample.com)を変更します。

  3. サーバー(abc.com)は要求を受信し、操作されたホスト(ここではexample.com)に解決します。

上記が当てはまる場合、example.comがabc.comからのリクエストを想定しているため、ホストヘッダーを使用してSSRFが可能であることを意味しますか?

明確にしていただけませんか?

1

Hostヘッダーはアプリケーションで確認でき、存在しないホストを含​​むリクエストはデフォルトの仮想ホストに送信されるため、答えは「はい」になります。

HostヘッダーにSSRFの脆弱性が存在するためには、次のすべての要素が存在する必要があります。

  • Webサーバーは、デフォルトの仮想ホストで構成する必要があります
  • サーバー側のコードはサーバー名(または直接Hostヘッダー)を使用する必要があります
  • サーバーサイドコードはサーバー名をホワイトリストと照合してはいけません
  • サーバー側のコードは危険な方法でサーバー名を使用する必要があります(例:コードとして、またはネットワーク要求の一部として)

このブログ投稿 には、PHPの背後にある理論があります。

1
Enos D'Andrea

私の意見では少し広い質問です。ただし、単純なWordでは、yes

AcunetixのWebサイト にある この記事、Ian Muscatによる投稿 を見て、PHPこれはサーバー側リクエストフォージェリに対して脆弱です。

0
Joezer