Re: Safe Mode
| From: | Stig S. Bakken | Date: | Sun, 12 May 2002 21:34:44 +0000 |
| Subject: | Re: Safe Mode | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-83953@lists.php.net to get a copy of this message | ||
I'm +1 on removing safe mode in PHP 5, and encourage the use of
system-level sandboxes/prisons instead.
- Stig
On Sat, 2002-05-11 at 17:39, Ilia A. wrote:
> In the process of writing an installer in PHP for one of my projects I've come
> in contact with a number of servers running PHP with safe_mode enabled.
>
> As you can probably imagine the installer at first broke completely because of
> safe_mode restrictions. Despite the restriction I was able to write php code
> that was able to bypass safe_mode restriction in every single case, which
> should tell you just how "safe" that option is.
>
> There are numerous ways to bypass it, rely on file system utils if they are in
> the path, make the script copy itself and then write stuff as webserver,
> install a small script into cgi-bin directory that will do the same thing
> etc...
> The number of ways to bypass this feature are too numerous to list here.
>
> I should also point out that safe_mode implementation has numerous bugs in
> every PHP version including the very latest CVS.
>
> 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...
> 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?
> It is nearly impossible to write a PHP file system code that would work with
> safe_mode it is much easier to just release C/Perl/Python etc.. code that
> will do the very same thing and run via a command line or the user's cgi-bin
> directory.
> 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.
>
> IMHO safe_mode should be removed from the php core, because it lulls web
> server admins into false sense of security thus not taking the time to setup
> proper file system permissions in addition to severely crippling the PHP's
> file system functionality.
>
> If the safe_mode like functionality remains it should simply block all file
> system and shell execution code since with it most of that code becomes
> useless anyway.
>
> Regards,
>
> Ilia
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php