2012-03-01 10 views
2

私は埋め込みswfオブジェクトと通信するウェブサイトを持っています。 フラッシュは、サーバーでXML文字列を転送するsendAndLoad( "URL"、受信者)コマンドを実行し、サーバーはfile_get_contents( "php:// input")を使用してxml文字列をフラッシュから受信します。私はSQLインジェクション攻撃を心配する必要がありますか?file_get_contents( "php:// input")でSQLインジェクションが可能です。または取得と投稿だけで可能ですか?

+0

_any_すべてのデータは疑わしいですが、SQLインジェクションの場合はこれがポイントの横にあります。有効なデータに引用符を含めることができます。有効なデータには文字列 ''を入れることができます。たとえば、SQLについてのブログでは「ALTER TABLE」です。常に提供されている方法を使用してください。 – Wrikken

答えて

3

短い答え:はい

少し長い答え:それはすぐに明らかではないですが、要求を偽造することができ、データが適切にエスケープされていない場合は、注射を引き起こします。データが通常フラッシュオブジェクトから来ているという理由だけで、悪意のあるデータを送信する独自​​のスクリプトを作成することはできません。

+0

私はその文字列をSQLクエリに直接配置しません。入力XMLを解析していくつかの変数を取得するためにXMLパーサを使用しますが、それでも危険ですか? –

+0

はい。 「悪意のある変数」を持つ有効なXMLを送信することができます。これは通常のSQLインジェクションよりもはるかに多くの労力を要しますが、それでも可能です。一般的な経験則として、ユーザーから何かが得られたときはいつでもできる限りそれをエスケープしてください。 – Robus

+0

フラッシュには、ドメイン間のリソースへのアクセスを避けるための制限があります。私は、PHPサーバが同じディレクトリ内のswfファイルからxml文字列を受け入れるかどうかを知る必要がありますか? –

関連する問題