- 2007-06-21 (木) 21:33
- PHP
セキュリティ研究者らは米国時間6月19日、PHPによって記述され、GIFファイルに埋め込まれた攻撃コードを大手の画像ホスティングサイトで発見した。SANS Internet Storm Centerへの投稿によると、この攻撃コードはファイルの先頭に正規の画像を配置することで監視の目をすり抜けたという。
GIFファイルにPHPコードが隠されてたとしてもPHPとして実行されなきゃ問題無いような気が。
なんなんだろーと思って twitter でつぶやいてみると @koyhoge さんと@takesako さんからヒントを頂きました。
自分なりに理解すると、ようはGIFファイルにPHPコードが入ってるんじゃなくて、PHPファイルの先頭にGIFヘッダ+バイナリが入っていると考えれば良いんじゃかいかと。なのでアップロードするファイルは「hoge.gif」ではなく「hoge.gif.php」になるという事でしょう。
これならアップロードした画像(PHPファイル)が<img src=”hoge.gif.php” />で読み込まれた際にPHPコードが実行されるというストーリーが理解できます。
ただこれが成功するにはアップロードしたファイルの拡張子が「.php」になっている必要があるので、アップロード時にサーバ側で拡張子をチェックしておけば簡単に防げるように思います。実際に被害が出ているらしいのですが、被害があったサーバでは拡張子のチェックすらしていなかったということでしょうか。
うーん、何か思い違いをしているような気もする・・・。
[追記]
via: ITmedia エンタープライズ:攻撃コード隠した画像ファイル、大手ホスティングサイトで発見
PHPコード入りGIFファイルが実際に見つかっているようです。通常ならこれをアップロードしたところでどうという事はありませんが、もし万が一このファイルをinclude文やらrequire文等で読み込んでしまう or 拡張子を変える等で埋め込まれているPHPコードが実行されてしまいます。
このファイルは一見するとただの画像ファイルなのでライセンスフリーの画像として配布すれば、インターネット上に広がっていく可能性があります。いつ爆発するか分からない時限爆弾がばらまかれるようなものです。
今のところ爆発する危険性は低いとは思いますが、別のセキュリティホールと結びつくことによりPHPコードが実行される可能性も考えられます。
今後は画像ファイルにPHPコードが含まれているか否かを確かめる必要があるかもしれません。
うーん、どうなんだろ。。
- Newer: CakePHP テーブルのカラムサイズでvalidate
- Older: IPアドレスなしでSSLサーバ証明書?
トラックバック:0
- このエントリーのトラックバックURL
- /blog/2007/06/php_exploite_code_in_gif.html/trackback
- Listed below are links to weblogs that reference
- PHPによる攻撃コードが出現–GIFファイルに隠される? from Shin x blog