On May 11, 2002 11:35 am, you wrote:
> > There are numerous ways to bypass it, rely on file system utils if they
> > are in the path,
>
> Won't work.
>
> > make the script copy itself and then write stuff as webserver,
>
> You always write stuff as web server

What is the point of limiting the script's write access if it can just bypass 
that by making a copy of itself? This merely adds an annoyance step for the 
programmer.

>
> > install a small script into cgi-bin directory that will do the same thing
>
> That's not really a PHP issue.  Many ISP's turn off cgi-bin access so in
> those cases that won't work.
>

Cerainly some ISPs do that, but most do offer cgi-bin directories in addition 
to PHP, because many of their customers rely on perl/c etc.. scripts that can 
be run via cgi-bin.

> > The number of ways to bypass this feature are too numerous to list here.
>
> Let's have some real specifics please.
>

Sure here is just 1 example:

Current directory is "/home/user/dir1/dir2/"
mkdir("/home/user/dir1/dir2/dir3") fails (Safe Mode Error)
mkdir("dir3") works fine

This has been replicated with PHP 4.2.0 on 2 servers I've tried this on.

> > It is my belief that safe_mode gives people who use false sense of
> > security by "supposedly" securing their webserver from their own users,
> > which is pointless since a "dedicated user" can cause plenty of damage by
> > using while(1) include $PHP_SELF; etc...
>
> The process limits should take care of that.

There are numerous and untold ways to cause PHP to eat up the cpu or to crash 
the child, more then a few ways were posted on this list. That was just the 
simplest example I could show.

>
> > In addition safe_mode makes the developer life extremely difficult since
> > it blocks the most common operations that ARE ALLOWED by the webserver's
> > file permissions, why does PHP take on the role that is not done in any
> > other programming language?
>
> Because PHP is in many cases the only scripting language an ISP is willing
> to give people access to on a shared server.

I agree that most common use of PHP is a web scripting language, but IMHO it 
is the job of the webserver/filesystem to limit what user can do, not of the 
scripting or programming language.

> > For example, if a user uploads test.php with their FTP and test.php
> > creates a file, it will no longer be able to read that file under
> > safe_mode since the uid of the script and the file it created differ.
>
> Correct.  That's why we have open_basedir.

Ideally every ISP would use it and each virtual host would have such a 
directory. In reality I've set to see a SINGLE ISP that has used that option. 
In fact I didn't know about it myself until you told me about on IRC.

Ilia

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to