phpbar.de logo

Mailinglisten-Archive

[php] PHP safe_mode - alle Dateine auf lokalen Dateisystem lesen

[php] PHP safe_mode - alle Dateine auf lokalen Dateisystem lesen

Sven Hoexter sven_(at)_telelev.net
Wed, 21 Feb 2001 14:53:55 +0100


On Wed, Feb 21, 2001 at 09:00:32AM +0100, Pascal Reddig wrote:

Tach,
 
> ich habe follgendes Problem und in dem Archiv habe ich da noch keine 
> Antwort zu gefunden, bzw keine ausreichende Antwort.
hm, gab ein paar mal was dazu. Wichtiges Document ist das hier:
http://www.koehntopp.de/php/faq-phpinterpreter.html#phpinterpreter-17

> Was bewirkt der safe_mode? Erstmal nur, dass PHP nur Dateien lesen kann, 
> die dem gleichen Benutzer gehoeren wie das ausgefuehrte Skript?
u.a. ja.

> Oder wird 
> auch mit dem Apache zusammen gesprochen, dass man nur im Root eines 
> virtuellen Webservers gucken darf? Wobei das ja ungefaehr aufs gleiche 
> hinauslaeuft, bzw sollte.
Aehm, wenn das nicht auf's gleiche hinaus laeuft dann solltest Du den
Admin mal zur Sau machen bzw. ihn erstmal fragen ob nicht doch ne
Begruendung dafuer hat ;-)

> Und im safe_mode_exec_dir liegen dann die Programme, die ich von PHP aus ( 
> system(), passthru(), exec() ) ausfuehren darf?
sofern Du da welche reinkopierst und die Variable gesetzt hast ja.

Ausserdem eingeschraenkt:
1. pconnects (?) - siehe php ini. 
2. Nur noch Dateien includen/angucken die dem gleichen User gehoeren.
3. ggf. safe_mode_exec_dir
4. ausserdem fallen IIRC noch einige Socket Spielreien weg
5. Du solltest auf mehr oder weniger offenen Servern (wo andere Fremde
ihre Dateien ablgen auf alle Faelle safe_mode aktivieren.

Wenn Du richtig sicher gehen willst hilft nur php als cgi und das
ganze mit suexec in einem chroot (jail) aufsetzen.

Wenn naemlich jemand eine Datei anlegt bekommt die AFAIK immer noch
die Rechte des Webservers und das bedeutet das andere User da doch
wieder per include() drauf zugreifen koennen. Wenn sie sich ein Script
aus einem Script in eine Datei schreiben.

Wie waere es mal ein kleines php-secure Script zu basteln das einen
Webserver auf so kleine Eigenheitet testet?
Haette jemand an sowas interesse? (nur um mal gefragt zu haben ;-) )

In der FAQ steht das alles noch etwas ausfuehrlicher und kompletter.

Cu,
Sven
-- 
Ich weiß nicht, wieso ihr euch so echauffiert. Die Warnung ist doch
wirklich deutlich zu lesen auf der Packung. Da steht in großen,
deutlichen Lettern: "Microsoft". NATÜRLICH funktioniert das nicht.
Mehr als warnen können sie euch nicht. [Fefe in de.alt.sysadmin.recovery]


php::bar PHP Wiki   -   Listenarchive