heinetz: Seite infiziert

Beitrag lesen

Im Frontend der Site gibt es keine Möglichkeit, irgendwas hochzuladen,

Ein Frontend der Seite ist gar nicht nötig. Ein Frontend kann sich jeder selber zusammenbauen und auf deine Seite zeigen lassen. Wichtig ist, daß auf dem Server nichts ist, was irgendwas annimmt und in gefährlicher Weise verarbeitet.

Wenn ich Dich richtig verstehe, meist Du, dass der Server keine per GET oder POST übergebenen Variablen verwendet, um deren Inhalte ungeprüft zu verarbeiten. Gefährlich wird's dann, wenn die Werte der Variablen verwendet werden, wenn (dauerhaft) entweder auf Dateiebene oder in einer DB geschrieben wird. Richtig?

Mit Frontend meinte ich die Website, die öffentlich erreichbar ist. Auf der gesamten Website gibt es für den User keine Möglichkeit, irgendwo dauerhaft etwas zu hinterlassen. Deshalb verarbeitet der Server empfangene Daten aus GET- oder POST-Variablen auch nur um, etwas bestimmtes anzuzeigen.

Hingegen das CMS (,das ich ach gerne als Backend bezeichne) verarbeitet natürlich die empfangenen Daten um DB-Inhalte und Dateien zu schreiben. Dieses CMS ist über www.example.org/_admin/ erreichbar. Sämtliche Requests innerhalb des CMS nimmt eine /_admin/index.php entgegen und für die gibt es eine SESSION-basierte Authentifizierung.

ABER: js, css, jpg usw., die sich auch in dem Verzeichnis befinden, werden ohne Authentifizierung vom Server ausgeliefert UND ... und darin besteht theoretisch die Schwachstelle, mein CMS basiert auf einem RT-Editor (TinyMCE), der nicht ganz ohne PHP-Files auskommt, weil er eine Dateiupload-Funktionalität beinhaltet, die aber wiederum eine SESSION-Authentifizierung enthält.

Kurzum: Meiner Ansicht nach ist alles abgesichert. Trotzdem kann es natürlich immer etwas geben,
was ich dabei vergesse.

Ich stelle mir 2 Fragen:

1. Kann es sein, dass doch der Client infiziert ist (und sich das so äussert)
2. Die einzig mir bewussten Schwachstellen können nur (jetzt oder zukünftig) unterhalb des Verzeichnis /_admin/ auftreten. Das liesse sich ja relativ einfach über eine htaccess schützen. Das ist aber nicht sonderlich komfortabel, denn nach Eingabe eines htaccess-Passwortes müsste der User sich nochmal authentifizieren. Gibt es eine einfache Möglichkeit sämtliche Requestes in dem Verzeichnis bspw. mit mod_rewrite über die bestehende SESSION-Authentifizierung zu organisieren?

Für PDFs in einem geschützten Verzeichnis habe ich das mal gemacht:

  • Alle Requests nach PDF in dem geschützten Verzeichniss werden per mod_rewrite nach einem php-wrapper umgeleitet.
  • der php-Wrapper prüft eine Variable $_SESSION['login'] und
  • leitet entweder zum Login um oder
  • gibt den Inhalt der Datei mit readfile() aus

... aber da ging es eben ausschliesslich um PDFs

gruss,
heinetz