[PHP-users 5952] ファイルアップロードのセキュリティーホールに関して
安井直志
php-users@php.gr.jp
Thu, 07 Mar 2002 12:37:24 +0900
初めて投稿させていただきます、安井と申します。
今回のPHPのファイルアップロードに関するセキュリティーホールに
関する質問です。現在Win2000Server+Apache4.0.6+PHP1.3.20の環境
で開発を行っております。
まず、簡単に現状を説明いたしますと、現在のPHPソースの中に以下
のようなコードが存在します。(画像ファイルを指定してサーバーに
アップロードするというものです。)
<form name="f1" method=POST action="./×××.php">
<input type="file" name="sImage" size="40">
<input type="submit" name="button_submit" value="登録">
<input type="reset" name="button_reset" value="取消">
</form>
POSTした後、PHPの処理でファイル名の拡張子が「jpg」か「gif」以外
はサーバーにアップロードしないようにしています。
で、ここからが本題ですが
http://www.isskk.co.jp/support/techinfo/general/PHP_xforce.html
上記サイトに「特別に作成した MIME 符号化データを含む PHP フォー
ムをアップロードする必要があります」と、あります。
私はこの意味を、悪意のあるPHPソースを作成し、そのソースをアップ
ロード後、このファイルを実行される事がこのセキュリティーホールで
ある、と解釈しました。(単純な考え方かとは思いますが…)
つまり、アップロードをするファイルが、「jpg」「gif」だけなら問題
は発生しない、と考えたのですがこの考え方は間違っているのでしょう
か?
(もしかすると、POSTしてデータをファイルをサーバーに送っている時
点で問題なのかな?)
後、具体的にどのような現象が発生するのか、と言うこともあわせて説
明していただければありがたいです。
初心者の質問で恐縮ですが、ご教授の方宜しくお願い致します。
安井直志 yasui@alpsgiken.gr.jp