ユーザーがポートフォリオギャラリーとして一般公開されるファイルをアップロードできるWebサイトがあるとします。たとえば、ユーザーは自分が設計したWebサイトのスクリーンショット、PRサンプルテキストのMS Word文書、または履歴書のPDFなどをアップロードできます。
セキュリティ上の理由により、一部のファイルはブラックリストに登録されます。 .Zip
ファイル、.exe
ファイル、.php
ファイル。
フラッシュファイルはどうですか? .swf
ファイルをホストして自動的に再生する場合、セキュリティ上の懸念はありますか?
<?php
if ($extension == 'swf') {
echo '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="640" height="430">
<param name="movie" value="/'.$urlToFLV.'" />
<param name="quality" value="high" />
<param name="wmode" value="transparent">
<embed wmode="transparent" src="/'.$urlToFLV.'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="400" height="430"></embed>
</object>';
}
?>
フラッシュコードはユーザーのブラウザーで実行されるため、セキュリティ上の問題が発生した場合、サーバーではなくユーザーのマシンで発生しますか?
私はフラッシュを知っていますが、これは恐ろしいアイデアです!これが、自己複製型ウイルスワームでmyspaceのすべての問題を引き起こした原因です。それは本当に簡単で、フラッシュを使用すると、ブラウザにあらゆる種類の呼び出し/接続/サイトへのログイン/あなた/などとしての投稿をさせることができます。フラッシュを使用してユーザーをどれだけ引き離して、Web上の任意のサーバー/場所に報告できるかは驚くべきことです。
ユーザーに.flaファイルを送信してもらい、コードをレビューして自分でコンパイルする場合を除き、ユーザーにFlashのアップロード/投稿を許可しないでください。
はい、ユーザーがフラッシュファイルをアップロードできるようにするためのセキュリティ上の考慮事項があります。
セキュリティの問題は内部的なものではない可能性があります-つまり、サーバーへの脅威を意味しますが、Webサイトがフラッシュファイルをホストしている場合、 ユーザーマシンを完成させる 、または同様に厄介な問題が発生する可能性がありますユーザーベースまたはコミュニティの構築/維持。
私はFlashプログラマーではありません。Flashには、Cookie /セッションを処理する奇妙な方法があることを知っています(I thinkプラグインがどのブラウザであるかに関係なく、IEセッションを使用しますから実行されます)が、潜在的なCSRF/XSSの問題がある可能性があります。
私が予測する問題は、ユーザーが悪意のあるFlashムービーをアップロードし、それを使用して、任意のドメインから埋め込まれたときにCSRF攻撃を仕掛けることです。 Flashムービーがドメインのページに埋め込まれると、XSS攻撃が開始される可能性があります。
また、Flashファイルのアップロードとは関係ありませんが、ユーザーがcrossdomain.xml
ファイルをアップロードできないようにすることもできます。通常、このファイルはドメインルートに配置されますが、Flashムービーで指定すると、任意の場所から使用することもできます。
また、マイケルが述べたように、悪意のあるFlashムービーはユーザーのコンピューターにとって危険な場合もあります。最新バージョンにオープンリモートコード実行の脆弱性があるかどうかはわかりませんが、Flashの記録はかなり貧弱です。ユーザーがFlashムービーをアップロードできるようにすることに非常に注意します。悪意のあるFlashファイルを検出できる、ある種のAVスキャナーを検討することをお勧めします。