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

php-users@php.gr.jp php-users@php.gr.jp
Tue, 13 Nov 2001 07:50:07 +0900


KOYAMA Tetsuji <koyama@hoge.org>さん:
野村です。どうも、有り難うございました。

$result = `htpasswd -b password.dat adv1397 zxv876abc`;は
PHPのスクリプトの中に書いており、ブラウザからユーザーが入力したものではな
いのですが、それでも、危険なのでしょうか。なお、この一文の入っているPHPス
クリプトは、管理者以外には実行できないようにしています。
 それと、$resultに、'Updating password for user adv1397'というメッセージを
取得することはできないでしょうか。
> 
>   小山です。あー老婆心ながらちょっと追加。
> 
> 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
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users