2011-12-29 8 views
1

私は、人々が自分のサーバーに.swfファイル(ゲーム)をアップロードできるようにしました。私はそれらを見直し、良いものをサイトに投稿します。理論的には、純粋なフラッシュアップローダスクリプトをゲームに入れて、悪意のあるファイルをサーバーにアップロードすることはできますか?すべてのフラッシュアップロードスクリプトは通常、アップロードをキャッチしてそこから取得するためにPHP/ASP /任意のスクリプトを必要とします。理論的にはプルーフラッシュでこれを行うことができますか?もしそうなら、それをどうやって防ぐのですか? (可能性が高い - >にくい)らしさを減少させるのためにフラッシュの.swfファイルに関するセキュリティ上の問題

答えて

1

任意のSWF がサーバーで使用可能なスクリプトを呼び出すことができ、サーバーから提供しました。これらのスクリプトが何かをアップロードすると、SWFはそれらを使用できます。

サーバーがソケットに適したクロスドメインを提供する場合、SWFはTCPに基づいてTelnet、FTP、SSH、その他の多くのプロトコルを実装できます。サーバーがこれらのプロトコルを使用した自動アップロードを受け入れる場合、SWFはそれらのプロトコルを使用できます。

たとえば、Unix findで検索された場合、SWFファイルの名前は、別のコマンドの呼び出しとして理解できます(Unixファイル名では改行が許可されるため、別のプログラムの出力ストリームシェルを使用すると、慎重ではない場合でも、誤って引数の展開/ランダムコードの実行を引き起こす可能性があります)。

人外はそれを読んで、プログラムにSWFファイルを供給し、いくつかの機密情報を配っに何らかの形でプログラムを強制する方法を知っている場合は、任意の一般的な脆弱性は、例えば、のような、悪用される可能性があります。もちろん、何でも可能です。しかし、SWFはこの点で利点がありません。機会がそれ自体を提示するならば、どのファイルも同様に "有用"になる可能性があります。

+0

実際に.swfファイルをサーバーにアップロードするupload.phpというファイルがありますが、.swfファイルではないものはすべて破棄されます。かなり安全でしょうか?私は何もnginxとmysqlを除いて実行していない。 –

0

短い答え:いいえ、しかしあなたはXSSに関心があります。

しかし、技術的には、swfファイルをテストするときには驚くべきことになります。 Adobeは一般に、.swfファイルをサンドボックスに入れてユーザーを保護しようとしていますが、ローカルファイルにアクセスできる(ただしネットワーク権限はありません)swfファイルを作成できます。

サーバがswfファイルを提供しているとき、swfファイルはあなたのものではなくクライアントのコンピュータ上で実行されています。あなたの状況の唯一の違いは、swfファイルが技術的にサーバ自体と同じドメイン上で動作していることです。したがって、wvxwは、あなたがそのドメインで公開しているサービスにアクセスできるということです。通常、Adobeはswfファイルが異なるドメイン間のリソースにアクセスするのを防ぎます(ただし、サーバールートにクロスドメインファイルを置かない限り、この保護はほとんどがサーバーではなくswfファイルのユーザーを保護するためです)。 crossdomain.xmlファイルの要求を簡単に傍受し、それをカスタムのものに送ることができます。これによりswfファイルがドメインへの要求を効果的に行うことができます。

これまで述べてきたように、

フラッシュアプ​​リケーションは技術的に別のドメインにリクエストを出してユーザーに関する情報を収集することができます。ちょっとしたことを言えば、本当に巧妙なフラッシュアプ​​リケーションあなたの承認後、ある時点で別のドメイン(作成者がクロスドメインファイルを使って承認した)から独自のswfファイルを技術的に引き出すことができます。このswfファイルは、あなたが承認したものとまったく異なる動作をすることができます。

これ、あなたのユーザーに物事を投稿する力を与えるたび、一般的な問題。 XSS攻撃は、通常、サーバー側の悪意のあるコードの解析によって阻止されます。あなたの場合、swfファイルはバイナリであるので、それを行うことは本質的に不可能です。

関連する問題