$_SERVER - Verlässlichkeit - Gefahr
markus
- php
1 Sven Rautenberg0 Tom
Hallo,
man hört ja in Bezug auf die $_SERVER-Variablen immer wieder, dass diese vom User manipulierbar sind und dadurch eine Gefahr besteht, ganz besonders bei PHP_SELF.
Wenn ich nun, wie nei php.net im Beispiel, eine absolute URI basteln möchte, für Location, dann verlasse ich mich hier mindesten auf HTTP_HOST und PHP_SELF.
PHP_SELF wird bei mir intern mit dirname, und explode, von links nach rechts auf plausibilität und vorhandensein geprüft, sollte also danach nichtmehr gefährlich sein.
Aber wie kann ich mich auf HTTP_HOST verlassen, was ist hier Gefährlich?
Möchte nur, um den absoluten URI zu basteln subdomain.example.com erhalten.
Gruß
Moin!
Aber wie kann ich mich auf HTTP_HOST verlassen, was ist hier Gefährlich?
Möchte nur, um den absoluten URI zu basteln subdomain.example.com erhalten.
Wenn der blöde Angreifer am HTTP-Header "Host" herummanipuliert, wird so ein Request niemals deinen VHost erreichen - denn dazu muß in dem Header die korrekte, exakte Domain enthalten sein, für die der VHost zuständig sein soll.
Insofern würde ich mich bis zum Beweis des Gegenteils auf die Prüfungen verlassen, die der Webserver für diesen Header unternimmt.
- Sven Rautenberg
Hello,
man hört ja in Bezug auf die $_SERVER-Variablen immer wieder, dass diese vom User manipulierbar sind und dadurch eine Gefahr besteht, ganz besonders bei PHP_SELF.
Diese Gefahr liegt eigentlich nicht auf der Server-Seite, sondern auf der Client-Seite.
Der Server wird hier nur als "Zwischenwirt" benutzt und dazu missbraucht, den Pfade, den er in der URi mitgeteilt wird unreflektiert wieder ins Action-Attribut eines Formulares aufzunehmen. Den eigentlichen Fehler (also die "Infektion") setzt dann erst der Client in schädliches Verhalten um, denn dieser postet ("gettet") dann die gutwillig eingegebenen Daten an eine manipulierte URi.
Der Server kann hier nur in soweit abgesichert werden, dass er eben nicht die "Zwischenwirt-Funktion" einnimmt, sondern bei der infizierten URi seine "Heilmethoden" wirken lässt.
Als Selfer rufe ich daher: "BIO tio kum" Bio, Du sei mit uns (gaaanz frei interpretiert).
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg