2012-10-02 5 views
7

可能性の重複:
Is it possible to execute PHP with extension file.php.jpg?filename.php.jpgがPHPファイルとして動作するのはなぜですか?

私は誤って自分のサイトへのファイルアップロードを残し、それは(STUPID ME)をハッキングしまいました。ハッカーはアップローダでindex.php.jpgファイルをアップロードしていましたが、それを使って自分のサイト(シェル99スクリプト)にアクセスしましたが、なぜ動作するのか理解できません。誰かがこれを説明するのに十分なスマート?

+5

ファイル名は 'index.php.jpg'か' index.jpg.php'ですか? –

+0

実際、_nobody_はファイル拡張子に興味があります;)それはファイル内に何があるのか​​というヒントに過ぎません。 – KingCrunch

+0

.phpの場合、あなたはばかな猿です:P – Chris

答えて

8

Apacheは、ファイル拡張子でPHPを実行できるファイルと実行できないファイルを制御します。これは、サーバーレベルまたはサイト単位のレベルで制御できます(.htaccessなど)。

デフォルトでは、.jpgの拡張子はではありません。はPHPの実行を許可します。おそらくファイル名は実際にindex.jpg.phpであり、あなたは間違っています。しかし、ファイル名がの場合、実際にindex.php.jpgとなる場合は、すべての可能な場所を調べて、.php拡張子でPHPを実行できるように設定をロックダウンする必要があります。

+1

スクリプトは.jpgまたは.pngの拡張子を持つファイルしか受け付けなかったので、index.php.jpgでした。私は所有しているサーバーにサイトを持っていないので、Apacheの設定にアクセスできないので、サーバーの所有者からこの質問をします。 –

3

ファイル名が偽造されているか、\ x000が挿入されているか、または.htaccessが植えられてjpgファイルにPHPが適用されています。

+0

どのようにこれは正確に動作しますか?どのように回避することができますか? – alexandernst

+2

どうか、\ x000であなたが意味することを教えてください。 – donald123

関連する問題