digital-live entwicklung

this website is cracked by a … hacker

Systemadministration, Viren, Hacks etc. war noch nie mein Ding, aber diesmal hat jemand meinen Sportsgeist geweckt. Was war los?

Ich betreue für einen Kunden eine Website. Geschrieben wurde sie von einer Hamburger Agentur, ich nehme ab und zu einige redaktionelle Änderungen vor, nichts großes. Seit einiger Zeit landen jetzt immer irgendwelche PHP Dateien auf dem Server. Letzte Woche wurde die Seite dann mehrmals ganz gehackt. In schrillen Farben war dann nur noch „This side is cracked by a turkish/thai or whatever hacker“ zu sehen. Was war los? Im Accesslog fand ich dies hier:

Die Seite ist zweisprachig, Deutsch und Englisch. Gesteuert wird das über den Parameter ‚lang‘ der die Werte ‚de‘ und ‚eng‘ enthalten kann (soll). Hier wird er jetzt aber mit einer URL belegt. Und diese URL wiederum zeigt auf eine Datei, die über 2000 Zeilen PHP/HTML Code enthält, zusätzlich noch arrays mit Binärdaten. Alles super strukturiert und kommentiert. 

Aber wie geht’es jetzt weiter? In der index Datei der Website sieht es so aus:

<?php if ($_REQUEST[lang] == "" OR $_REQUEST[lang] == "de") {
  <!-- Deutscher Teil --> }
else {
  <!-- Englischer Teil --> }?>

Wenn es nicht Deutsch ist, dann kann es ja wohl nur noch Englisch sein. Dumm wenn dan im Englischen Teil das hier passiert:

include $_REQUEST[lang]."/"."$_REQUEST[seite].php";

Blöder hätte man das hier nicht programmieren können. Zuerst das fehlende

elseif ($_REQUEST[lang]=="eng") { .. }

und dann noch der direkte Benutzung des Inhalts des Parameters ‚lang‘, in dem eben nicht ‚eng‘ steht. Jetzt ist die Oben angesprochene Datei erfolgreich eingebettet. Zur Belohnung ist auf der Website nun ein komfortabler Systemmonitor integriert. Passwörter auslesen, Berechtigungen ändern, alles möglich. Für die Datenbank steht ein ein mächtiger Browser zur Verfügung, was will man mehr.

Ich habe das Loch vor etwa 10 Tagen gestopft. Seitdem ist Ruhe, abgesehen davon, dass alle 2 Minuten Requests in der oben beschriebenen Art eingehen. Bin mal gespannt, wie lange die das noch versuchen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..