Konrad Rudolph: includen von Get-Parametern

Beitrag lesen

Allererste Regel: Man sollte die pösen Puben nicht mit der Nase auf die interessanten Sachen stoßen. Verschleiere die Parameter der URL, verschleiere überhaupt Dein CMS, es braucht niemanden zu interessieren, wie Deine Seiten intern funktionieren. Kurz: Benutze nicht index.php?target=bla, sondern /bla.

na klar, das versteht sich von selbst (schon aus ästetischen Gründen), der Aufruf ist gestealthed:
\\ AddType application/x-httpd-parse .html
AddType application/x-httpd-parse .php
Action application/x-httpd-parse "/xxxxx/CGI/cms.php?target="
///

Damit wäre die größte Hürde geschafft. Du kannst im Anschluss noch prüfen, ob sich die Datei innerhalb des Web-Hauptverzeichnisses ($_SERVER["DOCUMENT_ROOT"]) befindet oder ob sich überhaupt Schrägstriche oder doppelte Punkte ("..") in $target befinden.

das Problem dabei: es dürfen sich sowohl Schrägstriche als auch Doppelpunkte im Pfad befinden, das muß auch so bleiben.

Du kannst auch mit der Dateiendung arbeiten, so daß nur bestimmte Dateien eingefügt werden können.

Das ist gut; daran habe ich nicht gedacht, weil mein CMS eh nur HTML und PHP verarbeitet, aber durch den Parameter kann man da ja alles einfügen.

Gruß,
KonRad -

--
SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
ss:| zu:( ls:$ fo:! de:] va:| ch:? sh:) n4:# rl:? br:& js:| ie:) fl:| mo:|