Gefahren beim Shared Web Hosting

Es ist bereits einige Zeit her, als ich auf dem Webspace bei Strato ein selbstgeschriebenes PHP-Skript für eine Art Caching meiner dynamischen Seite aufgespielt habe. Dieses Skript sollte die geacachten Dateien in einem Ordner namens „tmp“ in dem Webseitenverzeichnis erstellen und von dort aus wieder auslesen, wenn die entsprechende URL aufgerufen wird.

Die Dateien wurden auch wie gewünscht erstellt und wieder ausgelesen. Allerdings war der tmp-Ordner im Webseiten-Ordner leer. Auf meinem Webspace konnte ich keinen Ordner finden, indem sich die Dateien befanden.

Irgendwann fiel mir dann folgendes auf: Fälschlicherweise hatte ich als Pfad „/tmp“ angegeben. Anscheinend befand ich mich dadurch nicht mehr auf meinem Webspace, sondern im tmp-Ordner ausgehend vom Root-Ordner des gesamten Servers! Dies fand ich durch den Einsatz folgenden des Code-Snippets heraus, wodurch ich den gesamten Inhalt des Ordners /tmp im Browser anzeigen ließ:

 

Dort befanden sich definitiv auch Dateien, die nicht von meinen Webseiten stammten. Dann habe ich testweise als Ordner nur „/“ angegeben um einen Ordner höher zu landen und zu sehen, wo genau sich meine Cache-Dateien befinden und ich befand mich auf der höchsten Ordner-Ebene und sah auch die dementsprechenden Ordner des Linux-Betriebssystems wie „etc“:

Inwieweit hier eine weitere Einsicht oder vielleicht sogar Dateiänderungen möglich sind, habe ich natürlich nicht weiter getestet und weitere Nachforschungen sofort eingestellt und beim Provider nachgefragt, ob dies so richtig sei. Bis zu diesem Zeitpunkt hatte ich mich mit der grundsätzlichen Sicherheit beim Shared Web Hosting, wie ich es ja auch immer noch einsetze, nicht auseinander gesetzt.

 

 

Anscheinend ist es über den PHP-Prozess aber auf jeden Fall möglich aus dem eigenen Webspace „auszubrechen“, da PHP auf dem Server ausgeführt wird und nicht auf den Webspace der jeweiligen Seitenbetreiber eingeschränkt wird sondern wesentlich mehr Zugangsrechte unter dem Betriebssystem hat. Laut der Rückmeldung des Providers sei diese Offenheit beim Shared Web Hosting unumgänglich, damit verschiedene PHP-Versionen, Module etc. korrekt eingesetzt werden können.

Für Personen die sich damit Null auskennen, die vielleicht irgendein CMS oder Shop-System aufsetzen ist dies allerdings kritisch, falls ein solches System den normalen tmp-Ordner nutzen sollte. Was die Pfade angeht muss man hier auf jeden Fall vorsichtig sein!

Bei All-Inkl hingegen brachte dieses Skript keine Dateien zum Vorschein, sondern eine leere Seite oder eine Fehlermeldung:

Warning: opendir(/tmp): failed to open dir: Permission denied

Komisch, je nach Hoster geht es wohl doch ohne diese Freigaben auf dem Server xD

 

Schreibe einen Kommentar