Kenji
kenji****@club*****
2009年 7月 9日 (木) 22:19:54 JST
Kenji です。 1.7.0 以前のファイルアップロードクラスは、アップロードされた ファイルの中身を全く検証していません。 http://codeigniter.jp/user_guide_ja/libraries/file_uploading.html にあるサンプルコードの場合、攻撃者は、uploadsフォルダに任意のファイルを アップロードできます。これは、ブラウザからアクセスできる領域に PHP ファイルをアップロードすることが可能ということで、任意のコードをサーバ上 で実行できることになります。 1.7.1 では、画像ファイルについて getimagesize() で画像ファイルかどうか 検証するようにチェックが強化されていますので、画像ファイルに関しては、 このような脆弱性のあるコードを書いてしまうことはありません。 ただし、画像ファイル以外のファイルをアップロードする場合は、必要な場合は、 自分でファイルの中身をチェックするなどの対応をする必要があります。 なお、1.7.1 では、画像ファイルと画像以外の両方をアップロード可能にしようと 設定すると、画像以外のファイルがアップロードできないというバグが報告されて います。 http://codeigniter.com/forums/viewthread/113029/ // Kenji