[PHP-users 3494] Re: 外部プログラムについて

KOYAMA Tetsuji php-users@php.gr.jp
Mon, 12 Nov 2001 20:05:41 +0900


  小山です。あー老婆心ながらちょっと追加。

At Mon, 12 Nov 2001 18:59:02 +0900,
seijun86@ybb.ne.jp wrote:
> スクリプトの中で、
> $result = `htpasswd -b password.dat adv1397 zxv876abc`;
> を実行させて、$resultに、'Updating password for user adv1397'といったメッセー
> ジを入れようと思って試したのですが、$result = ""となります。

  この様に、web から入力された文字列をコマンドに渡す場合には、入力され
た文字列のチェックは徹底的にやらないと危険ですよ。

  $result = `htpasswd -b password.dat $user $passwd`;

なんてスクリプトだったときに、$passwd に "; rm -rf /" という文字列を入
力されたときのことを考えてみましょう。

-- 
	小山 哲志@ビート・クラフト
	koyama@beatcraft.com
	koyama@hoge.org