Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] php & security




On Wed, 21 Nov 2001 frodo@xxxxxxxxxxxx wrote:

> KV>> P.S. Вообще дело не только в кривой реализации safe mode, но и вообще в
> KV>> непродуманном API :-(( Я попытался вызвать программу, передав ей в
> KV>> качестве параметра имя файла (пресловутый /.../Program files/.../ :-)
> KV>> Не смог: это дело упорно передавалось как два аргумента - как ни приседай.
> KV>> Посмотрев в исходники я понял, что так, собственно, и должно быть.
>
> А можно немного подробней? Какая функция и что ей конкретно передавалось?
>
Ok. Искуственный пример (чтобы показать проблему).
-- cut --
$ cat show-params
#!/bin/sh
n=1
for i ; do
    echo "Parameter $((n++)) is '$i'"
done
$ cat test.php
#!/usr/bin/php -q
<?php
    $param="1 2 3";
    $result=array();
    exec("show-params $param",$result);
    echo(implode("\n",$result)),"\n";
    $param=escapeshellarg($param);
    $result=array();
    exec("show-params $param",$result);
    echo(implode("\n",$result)),"\n";
?>
-- safe mode is on --
$ test.php
Parameter 1 is '1'
Parameter 2 is '2'
Parameter 3 is '3'
Parameter 1 is ''1'
Parameter 2 is '2'
Parameter 3 is '3''
-- safe mode is off --
Parameter 1 is '1'
Parameter 2 is '2'
Parameter 3 is '3'
Parameter 1 is '1 2 3'
-- cut --

Что видим ? Если не заэкранировать, то не работает ни в каком режиме (что
ожидалось), если заэкранировать, то работает без safe mode и не работает с
safe mode (чего не ожидалось).

=============================================================================
=               Apache-Talk@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.