web-dev-qa-db-ja.com

ユーザーがアップロードしたFlash(SWF)ファイルを提供するのは危険ですか?

CMS機能を備えたサイトで作業しています。ユーザーにFlash(.swf)ファイルのアップロードを許可し、サイトに表示することを検討しています。

  • これは悪い考えですか?
  • これを安全に行う方法はありますか?
  • サーバーとサイトの訪問者の両方に起こり得る最悪の事態は何ですか?
  • これらの問題を軽減するためにどのような予防策を講じることができますか?
4
Alex Grin

古いバージョンのフラッシュ.swfには脆弱性が含まれています。ユーザーは、古いバージョンのFlash CSで作成されたクリップをアップロードして、何百人ものエンドユーザーを公開することができます。彼らが最新のフラッシュプレーヤーを持っていない場合(そして多くが持っていない場合)、彼らは厄介なバグをキャッチする可能性があります。

.swfをトリガーして、ユーザーのブラウザーウィンドウ内にIFRAMEを展開するクロスサイトインジェクションを起動できます。それからゲームオーバーです。このブログ投稿では、それがどのように行われるかを説明しています。 http://blog.sucuri.net/2014/11/malicious-injector-in-swf-Adobe-flash-file.html

Code that launches external JS

うん。 .swfに含まれているアクションスクリプトは、別のWebサイトに格納されているJavaScriptを起動し、あなたのWebサイトにアクセスするだけで誰かにウイルスを感染させる可能性があります。

2014年のAVはどれもこのマルウェアを検出しませんでした。以前はFlash開発者だったので、モバイルで動作するようにCanvas HTML5/jQueryに移行しました。この例を参照してください。完全に準拠しています http://careerbuildermedia.com/atx/projects/portillos/pjb/code6/

IE8などの古いブラウザーでは、同等のフラッシュプレーヤーにフォールバックします。これを行うための専門知識は高いですが、SWFアップロードを本当にサポートしたい場合は、仕様に達していないものを削除するためのモデレートプロセスが必要です。

6
Kevin Yu

それはあなたのサイトがどのように機能するかによります。 Flashでは call javascript を使用できます。これにより、Flash開発者はCookieと、サイトが提供された same Origin のDOMにアクセスできます。

したがって、ユーザーがドメインでSWFファイルを提供できるようにする場合、クライアントがサイトと同じOriginを使用している場合、クライアントページにアクセスする誰もがXSS(クロスサイトスクリプティング)攻撃を行うことができます。つまり、ユーザーがswfファイルをwww.yoursite.com/clientdirectoryに置くことを許可する場合、どのクライアントも認証Cookieを取得できるため、その時点で実際に所有されます。

サイトが単にホスティングサイトであり、URLが他のクライアントと共有されていない場合、つまりサイトがクライアントにフラッシュをwww.theirsite.comに投稿することを許可している場合、通常のJavaScriptよりもswfファイルに特別な問題はありません。

3
Steve Sether

他のユーザーがアクセスできるファイルのアップロードをユーザーに許可するときはいつでも、ユーザーが悪意のあるファイルをアップロードする可能性を導入します。特にFlashは、さまざまな種類の脆弱性に対して脆弱です。

Swfファイルがクライアントにダウンロードされてそこで実行されるため、サーバーにリスクはありません。

あなたはマルウェアのためにswfファイルをスキャンすることを試みることができますが、それは限られた保護しか提供しません。

0
schroeder

少し前に、サーバーで実行される検索インデックス作成メカニズムによってトリガーされたプレビューアの欠陥が原因で、Windowsサーバーの脆弱性がありました。これにより、アップロードされたメディアファイルに存在する攻撃がサーバーにも感染する可能性がありました。 JPGとTTFの両方のプレビューアの欠陥が、さまざまな種類のマルウェアに悪用されました。したがって、ユーザーが提供したファイルが他のユーザーを攻撃するだけでなく、無人サーバーも攻撃することは歴史的に可能でした。

もちろん、これらの欠陥はずっと前に修正されています。しかし、それらはアップロードされたコンテンツに本当に注意することの重要なリマインダーです。なぜなら、破壊者が感染ファイルをアップロードすることをかなり期待できるからです。

古いFlashファイルは深刻な脆弱性を持つことで知られています。アップロードされたファイルを検証して、それらが最新バージョンであることを確認してください。ツール Blitzableiter は、危険な非互換性を修正しようとするFlash準拠テスターです。アップロードされたすべてのソフトウェアを提供する前に、それをテストすることを検討してください。

0
John Deters