htdocs und alles darunter plötzlich weg
Peter Horn
- php
0 Cheatah0 Peter Horn0 Cheatah0 Peter Horn0 Cheatah
0 Der Martin
Hi,
beim Aufruf einer index.php, die in der document root namens htdocs (Webserver = Apache2) liegt, ist das gesamte htdocs-Verzeichnis mit allem was darunter war gelöscht worden, inklusive der index.php selbst. Das Ganze liegt auf einem Windows-2003-Server-System (nicht meine Entscheidung). Die verschwundenen Files sind auch im Windows-Recycler nicht mehr auffindbar. Betroffen waren Files, die im URL-Bereich liegen müssen, wie Stylesheets, JavaScripts, Grafiken. Alle modularen PHPs, Daten usw. lagen woanders und blieben unversehrt. Nachdem die index.php, die seit langem stabil lief, im eigenen Verzeichnisbaum gar nichts gemacht hat, stellt sich mir die Frage, wie so was möglich ist. PHP-Konfig? Apache-Konfig? Es gab keinerlei Fehlermeldungen von einer beteiligten Software. Der Apache lief nach dem Crash normal weiter. Hat jemand solche Erfahrungen auch schon mal gemacht?
Peter
Hi,
beim Aufruf einer index.php, die in der document root namens htdocs (Webserver = Apache2) liegt, ist das gesamte htdocs-Verzeichnis mit allem was darunter war gelöscht worden, inklusive der index.php selbst. [...] Nachdem die index.php, die seit langem stabil lief, im eigenen Verzeichnisbaum gar nichts gemacht hat, stellt sich mir die Frage, wie so was möglich ist.
ungeprüfte Nutzung übergebener Daten?
Es gab keinerlei Fehlermeldungen von einer beteiligten Software.
Was sagt das Access-Log?
Cheatah
Hi,
ungeprüfte Nutzung übergebener Daten?
Ein zur Laufzeit eingebundenes, noch in Entwicklung begriffenes Script produzierte möglicherweise einen logischen Fehler (syntaktisch aus PHP-Sicht fehlerfrei). Es sollte u.a. ein paar Datensätze in einer DB-Tabelle löschen, was es aber offenbar nicht tat. Für mich jedoch keine nachvollziehbare Ursache für die Datenlöschung im Verzeichnis.
Was sagt das Access-Log?
Das Hauptscript mit dem inkludierten Script erzeugte im accesslog eine 200. Die nachfolgenden htaccess-Zeilen, die zum nächsten Seitenaufruf gehören, weisen 403 aus, weil plötzlich nichts mehr im Verzeichnis war, was lt. Apache-Konfig zu "forbidden" führt.
Peter
Hi,
Was sagt das Access-Log?
Das Hauptscript mit dem inkludierten Script erzeugte im accesslog eine 200.
wie lautete der Aufruf, was hat das Script mit diesem gemacht?
Cheatah
Hi,
wie lautete der Aufruf, was hat das Script mit diesem gemacht?
IP.IP.IP.IP - - [13/Oct/2008:08:46:46 +0200] "GET /?page=pg-restore-status&restorepid=a8d625737a7908ebaa485da92b5a9a74-1223880399 HTTP/1.1" 200 7863
/ ruft index.php auf (gibt sonst kein index-File im Verzeichnis). Das Hauptscript verarbeitet den GET-Parameter page (zuverlässig), das inkludierte Script den Parameter restorepid (bei dessen Verarbeitung könnte ein Fehler passiert sein - da geht es aber nur um DB-Operationen, und die DB ist unbeschädigt). Keine weiteren GET-Parameter, keine POST-Daten.
Nächster Eintrag im accesslog:
IP.IP.IP.IP - - [13/Oct/2008:08:46:48 +0200] "GET /styles/default.css HTTP/1.1" 403 1147
Das Hauptscript liefert also noch 200, die erste referenzierte Ressource 1 bis 2 Sek. später, in denen wohl irgendwas passiert sein muss, bereits 403.
Peter
Hi,
IP.IP.IP.IP - - [13/Oct/2008:08:46:46 +0200] "GET /?page=pg-restore-status&restorepid=a8d625737a7908ebaa485da92b5a9a74-1223880399 HTTP/1.1" 200 7863
sieht für mich unkritisch aus, und bei Deiner Beschreibung klingeln auch keine Alarmglocken. Bist Du sicher, dass das Script für die Datenlöschung verantwortlich ist? Wer hat zu jener Zeit an dem Server in irgend einer Form gearbeitet?
Cheatah
Hallo,
Die verschwundenen Files sind auch im Windows-Recycler nicht mehr auffindbar.
wie sollten sie auch? Der Windows-Papierkorb ist eine Einrichtung des Windows-Explorers; nur wenn der die Dateien löscht, landen sie zunächst im Papierkorb.
Hat jemand solche Erfahrungen auch schon mal gemacht?
Nein, aber mein Verdacht geht in dieselbe Richtung wie der von Cheatah: Dein Script hat eine Sicherheitslücke, die jemand (zufällig?) erwischt hat.
Ciao,
Martin