Mailinglisten-Archive |
Kristian Köhntopp wrote: > Vertrauenswürdigkeit überprüft hat, d.h. wenn es die Werte > dekontaminiert hat. Tut es das nicht -> Sicherheitsloch. Lol, "dekontaminieren" ist gut ;-) Keine Angst, als CGI -mit-C-Veteran bin ich da hyperempfindlich und habe natürlich dran gedacht :) 1) Für die ganzen LOV-Sachen habe ich hier vor einiger Zeit eine Funktion gepostet; die nimmt einen Wert, der übers Web kam (egal, ob es ein Array oder nur ein "einfacher" Wert ist), sowie eine Liste mit erlaubten Werten. Sie filtert dann, und gibt nur die n (Parameter) ersten Werte zurück, die in der Vorgabe-Liste, die ja intern = sicher ist, auftauchen. 2) Das mit dem Pfad ist kein Problem, ich habe das durchgetestet. Sowas wie http://www.domain.de/pfad/bla/../sonstwas => kommt schon als /pfad/sonstwas im Skript an. Alles, was mit .. über das Toplevel-Verzeichnis hinausgeht, wird vom Server mit Fehlermeldung quittiert. Außerdem habe ich auch probiert, die '.' und '/' als Form-urlencoded zu "verstecken". Und es kommt ja hoffentlich keiner auf die Idee, mit Symlinks irgendwie aus dem htdocs-Verzeichnis rauszureferenzieren? -> Am besten im Apache auch gleich abschalten. Zusätzlich habe ich meinen Apache so konfiguriert, daß mit einer <Directory />-Direktive grundsätzlich erstmal "überall" alles abgeschaltet wird. Alles unterhalb vom htdocs wird dann sukzessive wieder eingeschaltet. Das Problem taucht eher da auf, wenn Du z. B. einen x-beliebigen Wert aus einem Form nimmst und in PHP damit eine Datei öffnest. Dann hat der Server ja auch keinen Einfluß mehr drauf. Trotzdem schön, daß hier mal deutlich auf sowas hingewiesen wird ;-) Matthias -- w e b f a c t o r y | matthias pigulla www.webfactory.de mp_(at)_webfactory.de
php::bar PHP Wiki - Listenarchive