3

ユーザーが好きな画像にリンクできるようにするとしましょう。リンクは、構文の正確性、エスケープなどについてチェックされ、<img src="..."/>タグに挿入されます。

たとえば、誰かが「evil.example.com/evil.jpg」にリンクし、evil.jpg にブラウザのバグなどによって実行されるコードが含まれているなど、既知のセキュリティ上の脆弱性はありますか?

(CSRF 攻撃は無視しましょう。一般的な画像ファイルのサフィックスを持つ URL のみを許可するだけで十分です。)

4

5 に答える 5

3

画像ファイルのセキュリティ リスクはときどき発生します。例を次に示します: https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-22_11-5388621.html?tag=nl.e019。これは古い記事なので、明らかにこれらのことはしばらくの間転がっています。

何かが常に安全であると断言することは不可能ですが、これまでのところ、リスクは比較的低く、画像ビューアーのメーカーによってかなり迅速にパッチが適用されているようです. IMO の最良のテストは、実際に発生している問題についてどのくらいの頻度で耳にするかです。この脅威ベクトルの可能性は何年も前から知られていましたが、実際には広まっていません。人々が公開フォーラムで画像をリンクする範囲を考えると、それが現実的な種類の攻撃であれば、すぐに大きな問題になると思います。

于 2010-06-11T12:04:49.477 に答える
1

少し前にJPEG バッファ オーバーランが発生しました。また、実際にコードを含む画像を考慮して、コードを実行しないようにする必要があります。

于 2010-06-11T12:07:09.907 に答える
1

そのため、信頼できないデータを処理するとバッファ オーバーフローが発生する可能性があります。また、信頼できないデータを URL の形式でページに挿入すると、XSS の欠陥が発生するリスクがあります。ただし、ブラウザーが問題としてフラグを立てる理由を知りたいと思います。

私の頭の上から:

  • この場合、リファラー情報はまだ送信されていると思います。セッションで URL 書き換えを使用したことがなく、今後も使用しない場合でも、以前は機密であった情報が公開されています。chris_l: 確かに、簡単なテストをしたところです - ブラウザ (FF 3.5) は Referer ヘッダーを送信します。

  • 返された画像データが誤解を招くものではないという確信は持てません。たとえば、ボタンのテキストが間違っています。または、より大きな画像で、なりすましの指示など。

  • 画像サイズによりレイアウトが変わる場合があります。重要なタイミングでページを移動するために、画像の読み込みが遅れることさえあります。chris_l: いいですね!常に幅と高さを設定する必要があります(ユーザーが画像を投稿するときにサーバーによって決定される可能性があります-画像が変更されない限り機能します...より良いアイデアですか?)

  • 画像は、AJAX のような機能に使用できます。chris_l: この点について詳しく説明してください。それはどのように機能するのですか?

  • ブラウザーはサイトの問題にフラグを立て、他の問題を隠して、ユーザーに緩いセキュリティ慣行を受け入れるように条件付けます。chris_l: サイトが HTTPS を使用している場合、これは間違いなく重要な問題です。

于 2010-06-11T13:32:21.830 に答える
1

はい、これは問題になる可能性があります。ブラウザーや OS の画像レンダリング コードの脆弱性を利用して機能するエクスプロイトが多数知られています。リモート実行の脆弱性を含みます。悪用するのが最も簡単な欠陥ではないかもしれませんが、懸念事項であることは間違いありません。

このような脆弱性の例: http://www.securityfocus.com/bid/14282/discuss (ただし、同じ種類の脆弱性が他にもたくさんある可能性があります)。

まさにこの種の脆弱性が悪用されている注目度の高いサイトで、このような問題を覚えていると思います。サードパーティの広告プロバイダーから広告画像が表示されましたが、画像がチェックされていませんでした。数千人のユーザーが侵害されました...もうストーリーを見つけることができません...申し訳ありません。

于 2010-06-11T12:09:21.400 に答える
0

更新:間違っていることが証明されました!

また、Cookie (セッション ID を意味する) も画像が配置されているサーバーに送信されることを考慮する必要があります。したがって、別のサーバーがセッション ID を取得します。イメージに実際に PHP コードが含まれている場合、セッション ID が盗まれる可能性があります。

たとえば、以下を含めます。

<img src="http://example.com/somepic.jpg alt="" />

http://example.comのサーバーには、次のような .htaccess-file があります。

RewriteRule ^somepic\.jpg$ evilscript.php

次に、picは実際にはphpファイルであり、画像を生成しますが、セッション盗用などの邪悪なことも行います...

于 2010-06-11T12:14:59.767 に答える