Facebook
Twitter
Google+
Kommentare
4

Installation von PHP erkennen (expose_php)

Wenn man versucht, die Schwachstellen einer Webseite ausfindig zu machen, dann ist der erste Schritt, den man gehen sollte, möglichst viel Information über das System, das man angreifen will zu sammeln.

Will man verhindern, dass der Angreifer mitbekommt, dass auf dem Webserver PHP läuft und die Anwendung in dieser Sprache geschrieben wurde, dann gilt es zuerst die Dateiendungen von .php auf .htm oder vielleicht sogar .asp umzustellen. Hierzu sollte man das Apache Modul mod_rewrite verwenden. Aber wem sag ich das, ihr seid ja alles PHP Profis.

Wir gehen jetzt also davon, dass wir nur noch html Dateien auf dem Server liegen haben. Dummerweise hat PHP die Eigenart, dass man auch jetzt noch erkennen kann, dass es sich um eine PHP Installation handelt. Hängt man an eine beliebige URL den Parameter ?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 an, so erscheint das PHP Logo. Warum dies so ist, ich hab mal wieder gar keine Ahnung, aber es funktioniert.

Das gute an diesem Feature ist, man kann es einfach ausschalten. Dazu bemüht man einfach die php.ini und schaltet den Parameter expose_php Parameter aus. Dies geht wir folgt:

expose_php = 'off'

Klingt einfach, ist es auch. Ist der Parameter erstmal umgesetzt, kann niemand mehr das PHP Logo auf magische Weise anzeigen lassen. Ich habs bei uns mal drinnen gelassen, denn rauszufinden, dass eine Webseite, die phphatesme heißt und ein Blog zum Thema php ist, sollte auch ohne Tricks möglich sein.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

4 Comments

  1. Zusätzlich sollte man dann noch drauf achten, ob der X-Powered-By Header gesetzt wird. Bei dir im Blog hier ist das z.B. PHP/5.2.0-8+etch10

    Keine Ahnung ob der Header durch expose_php = ‚off‘ auch abgeschaltet wird.

    Reply
  2. Wird Apache als Webserver benutzt, sollte man folgende Einstellungen in seiner Konfiguration prüfen:

    ServerTokes –> Versionsinformationen im HTTP-Antwort-Header
    Default Wert ist Full, hier sollte man Prod einstellen.

    ServerSignature –> Erzeugt bei automatisch generierten Seiten ( Index ) eine Fußzeile mit Server Informationen. Der Wert sollte auf Off gesetzt sein.

    Reply
  3. Wenn es aktiviert ist und PHP aktuell ist freut sich Damien, der regelmäßig seine Statistiken zur Verbreitung von PHP-Versionen auf Basis des X-Powered-By headers erstellt 😉

    http://www.nexen.net/chiffres_cles/phpversion/18824-php_statistics_for_october_2008.php
    http://www.nexen.net/chiffres_cles/phpversion/18821-php_stats_evolution_for_october_2008.php

    Und in wie weit das sicherheitstechnisch wirklich relevant ist … im Zweifel achte ich eh nicht drauf und feuer, als Scrit-Kiddie, die volle Serie an möglichen Exploits ab …

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen