Dominic Neumann (dominicc@web.de) wrote:
DN> mir ist letztens ein (perl)script in die haende gefallen, welches DN> mich als serverbesitzer schon ziemlich aufschreckte: DN> Mit diesem Script (es nennt sich cgicommand.pl) kann man im grunde DN> alle befehle, die man auf der kommandozeile ausfuehren kann auch DN> ausfuehren und man bekommt die ausgabe geliefert.
---schnipp--- #!/usr/bin/perl use CGI; my $q = new CGI; print "Content-Type: text/plain\n\n"; system($q->param('command')); ---schnapp---
Oder: (kürzer, aber dreckiger) ---schnipp--- #!/usr/bin/perl print "Content-Type: text/plain\n\n"; system($ENV{'QUERY_STRING'}); ---schnapp---
DN> Somit koennen sich user, die zwar vom ftp-server her nur ne DN> chroot-umgebung haben und sich auch nicht per telnet einloggen DN> koennen, jedoch cgi-access haben, alle moeglichen dateien vom server DN> ziehen, sogar passwordfiles und andere geheime sachen.
Eigentlich nicht, es sei denn, die Scripts von jedem werden als root ausgeführt. Und das will ich doch nicht hoffen ;)
DN> Was kann ich dagegen machen?
Ohne weiteres: Nichts. Wenn sie CGI machen können, können sie auch die Befehle ausführen. Du könnstest dir natürlich irgendwas basteln .. hmm .... vielleicht apache chrooten oder sowas?
Damit die User aber nicht Dateien von anderen Usern angucken können, gibts beim Apache SUExec, schau dir das mal an.