0

私は現在問題に直面しており、次のシナリオに関連するセキュリティ リスクを調査しようとしています。

Web サイト A には次のコードがあります。

<img src="http://www.websiteb.com/loadimage.php?path=http://www.websitea.com/images/logo.png" />

Web サイト B: 次のコメントは、loadimage.php で何が起こるかの例です (このページのコードは必要ありません)。

/* Use CURL to load image from $_GET['path'] and output it to page.

Web サイト B がなんらかの形で悪用されることに関連するセキュリティ リスクがあると思いますか?

ありがとう

4

2 に答える 2

1

別のサイトへのプロキシ攻撃に使用できます。

于 2012-06-04T11:24:22.123 に答える
1

はい - あなたは悪用にさらされています (あなたが CURL 関数を書いていると仮定して)。他の人が偽のリンクを作成し、あなたのコードを使用して他の人にページを要求したり、攻撃を配信したり、悪意のあるコンテンツを配布しようとしたりする可能性があります (たとえば、彼らはウイルスをホストし、そのウイルスを配信するために Web サイトのスクリプトを挿入し、Web サイトは悪名を取得します)。

ただし、次の方法で軽減できます (状況に応じて選択してください)。

  1. 可能であれば、パスからドメイン名を削除してください。すべての画像がドメインからのものであることがわかっている場合は、それを削除して PHP に追加します。これにより、純粋にあなたのドメインに制限されるため、人々がそれを悪用するのを制限します.

  2. 選択したドメインがある場合は、代わりに、URL のドメインが期待どおりのものであることを確認してください。これも、ダウンロードされる内容の自由な管理を制限するためです。

  3. 画像の URL からすべてのパラメーターを削除できる場合 (それらが必要ないことがわかっている場合) は、パラメーターも削除します。または、パラメーターの特定のパターンに一致する場合は、他のすべてを削除します。これにより、可能性が少し制限されます。

  4. 取り込んだときに画像であることを確認します。

  5. 特定の IP アドレスからのダウンロードを追跡します。それらが予想量を超えた場合は、それ以上の配信を停止します。予想される金額を知る必要があります。

  6. HTML と画像のダウンロードの両方を配信する場合、そのページに配信する予定のファイルのみを配信できます。基本的に、HTML ページを配信するリクエストを受け取った場合、その後にどの画像がリクエストされるかがわかります。要求している IP と要求しているエージェントに対してログを記録し、60 分間配信できるようにします。リクエストを想定していない場合 (つまり、IP / エージェントと一致しない場合) は配信しないでください。(注:通常、IPまたはエージェントは両方とも偽造できるため、これらに依存することはできませんが、これらの目的では問題ありません)。

  7. クッキーによる追跡。上記と同様ですが、IP とエージェントによる追跡ではなく、Cookie を使用してブラウザーを絞り込みます。

  8. また、上記と同様に、各ファイルに一意の ID を作成できます (例: "?path=avnd73q4nsdfyq347dfh")。その unique_id に対して配信するイメージをデータベースに保存します。Unique_id はしばらくすると期限切れになります。

  9. 最後に、スクリプトの名前を定期的に変更します。少しオーバーレイしてから、古いスクリプトを廃止します。.

何ができるかのアイデアが得られることを願っています。できる範囲で選んでください。

于 2012-06-04T11:24:51.843 に答える