PHP Shells gibt es wie Sand am Meer und nicht immer werden diese auch zu legalen Mitteln eingesetzt.
Mit einer C99 konnte ich vor einigen Jahren einen Bekannten aus dem örtlichen Computerclub bei seinem Problem helfen (PHPMyAdmin ging irgendwie nicht und aus dem cms hatte er sich ausgesperrt, lediglich ftp-Zugang bestand noch).
Da in der C99 eine Art PHPMyAdmin integriert ist, konnte ich so den MD5 in der Datenbank ändern.
Die letzten Tage habe ich mit einer PhpMiniShell experimentiert, die eigentlich nur einen PHP Befehl beinhaltet shell_exec.
Wer seinem Server nicht im PHP Safemode fährt und die entsprechenden Schreibrechte im aktuellen www Ordner hat, kann diese Minishell für diverse Aufgaben nutzen.
<?php $output = shell_exec($_GET['hoo']); echo “<pre>$output</pre>”; ?>
Die Shell wird mittels GET aufgerufen, Bsp:
http://www.deineseite.de/ordnermitschreibrechten/minishell.php?hoo=[DEIN SHELLBEFEHL]
In der Regel ist der Apache nicht mit root Rechten ausgestattet meine Versuchen einen Debian Lenny (aktuelle Updates eingespielt) mit dieser Minishell zu kompromittieren gelang mir nicht.
Trotzdem sollte die Shell mit Bedacht eingesetzt werden – am besten hinter einen .htaccess Verzeichnisschutz legen.
Was könnt Ihr mit der Shell alles machen?
Am besten selber testen
Was funktioniert:
ls -l (Verzeichnis ausgeben lassen)
mv datei.txt datei.php (mv=move bewegen, macht aus datei.txt -> .php)
wget http://seite.de/resource.txt (Download mittels wget)
perl perlscript.pl (Aufrufen von Perlscripten – Ausgabe im Browser)
gcc -o code source.c (kompilieren von C Code mittels gcc)
./code (Starten von Programmen)
chmod 777 datei.php (Zugriffsrechte ändern).
curl http://ww.google.de (Quasi ein Proxy, wenn curl installiert ist … !!! Ref.Grabbing – .htacces Pflicht !!!)
more /keinwwwverzeichnis/dateiname.foo (Inhalt einer Datei ausgeben)
find /* | grep .txt (auf dem gesamten Server nach .txt suchen und auflisten)
pwd (den absoluten Pfad zur Shell ausgeben)
….. und und und – einfach selber testen und vielleicht hier die Liste ergänzen.
Viel Spaß beim shellen – euer hoo
Fanaticz nutzt die MiniShell übrigens schon seit Jahren für seine Projekte (natürlich nur für legal Dinge
).
In der Shell die ” durch richte ersetzen, Worpress filtert hier.


Kleine PHP Shell http://goo.gl/fb/Nc13x
ich vesrtehe nur bahnhof
dscheiße das ist total asi, ich zeig euch an ihr hacker irh seid voll auf kleine server abgefahren stimmt doch
hoohead: Ich zeige Deine Eltern an, weil sie massiv gegen das Cartagena-Protokoll verstoßen haben.
Interessanter Beitrag! Danke! (les hier noch nicht so lange mit *g*)
Das erinnert mich daran meinen kleinen Server nochmal zu überprüfen^^, aber gleichzeitig ist es wirklich eine praktische Möglichkeit, den Server zu warten…
P.S.: gibt ja wirklich interessante Kommentare…
Wobei ein eval() wohl besser geeignet ist.
Wie genau funktioniert das eigentlich mit der Ausgabe?
Sicherlich könnte man die Ausgabe des Shellaufrufes in eine Datei umlenken, aber dann ist die Frage, wie man abschätzt, wann der Aufruf fertig und die Datei erstellt ist, sodass man die dann einlesen kann und somit die Shellausgabe ausgeben kann?
Oder denke ich grade nur zu kompliziert?
hoohead: Die Ausgabe wird an der Browser weitergeleitet.
mv klappt nicht
wget klappt nicht
perl klappt
gcc -o code source.c klappt nicht
./code klappt nicht
chmod 777 datei.php klappt nicht
curl klappt
more klappt nicht
find | grep klappt
pwd klappt
Der schwachsinnige Versuch, lighty rootrechte zu geben klappt NICHT!
# /etc/init.d/lighttpd restart
Syntax OK
* Stopping web server lighttpd [ OK ]
Syntax OK
* Starting web server lighttpd 2010-07-05 06:27:45: (server.c.755) I will not set uid to 0 [fail]
*braves lighttpd*
*wget hat doch geklappt.