Zum Inhalt springen

Glossar

Was ist PHP?

PHP ist eine Skriptsprache, mit der Webserver Seiten bei jedem Aufruf neu erzeugen. Content-Management-Systeme wie WordPress, Drupal und Joomla bauen darauf auf. Für die Sicherheit zählen zwei Ebenen: die Anwendung, die in PHP geschrieben ist, und die PHP-Laufzeit, die sie ausführt.

PHP einfach erklärt

PHP steht für „PHP: Hypertext Preprocessor“ und ist eine Programmiersprache für Webanwendungen. Der Code läuft auf dem Server, nicht im Browser: Ruft jemand eine Seite auf, führt der Webserver das PHP-Skript aus, holt zum Beispiel Produktdaten aus einer Datenbank und schickt fertiges HTML an den Browser zurück. Den PHP-Code selbst bekommen Besucher nie zu sehen.

Stellen Sie sich eine Restaurantküche vor: Der Gast bestellt, die Küche bereitet das Gericht nach Rezept zu und serviert nur den fertigen Teller. Die Bestellung entspricht der Anfrage, das Rezept dem PHP-Skript und der Teller der fertigen Seite. Wie gut das funktioniert, hängt vom Rezept ab – und vom Zustand der Küche selbst.

Nach Angaben des Sicherheitsunternehmens Wiz läuft PHP auf rund 70 Prozent aller Websites (Wiz Research). Entsprechend groß ist das Interesse von Angreifern an Schwachstellen in PHP-Anwendungen und in PHP selbst.

So funktioniert PHP

Zwischen Webserver und PHP-Code steht die PHP-Laufzeit. Sie ist auf unterschiedliche Weise angebunden, etwa als Apache-Modul (mod_php) oder als eigener Dienst (PHP-FPM), der die Anfragen über eine Schnittstelle vom Webserver erhält. In beiden Fällen bearbeiten sogenannte Worker nacheinander viele Anfragen. Wie sich PHP verhält, legt die Konfigurationsdatei php.ini fest – etwa, wie viel Arbeitsspeicher ein Skript nutzen darf oder ob Fehlermeldungen im Browser erscheinen.

Das PHP-Projekt pflegt jeden Versionszweig vier Jahre lang: zwei Jahre mit allen Fehlerkorrekturen, danach zwei weitere Jahre nur mit Korrekturen für kritische Sicherheitslücken. Anschließend erhält der Zweig keine Updates mehr, er hat sein „End of Life“ erreicht. Im Oktober 2026 werden die Zweige 8.2 bis 8.5 unterstützt; für PHP 8.2 enden die Sicherheitsupdates am 31. Dezember 2026 (PHP: Supported Versions).

Ein Beispiel aus der Praxis

Ein erfundenes Szenario: Ein Maschinenbauer betreibt neben seiner Hauptwebsite eine ältere Händlerplattform, die eine Agentur vor Jahren in PHP programmiert hat. Die Plattform läuft auf einem eigenen Server mit PHP 7.4, das seit Ende 2022 keine Updates mehr erhält. Niemand fühlt sich zuständig, weil die Seite ja funktioniert.

Bei einer Schwachstellenanalyse fällt der Server auf: Die veraltete PHP-Version ist von öffentlich bekannten Lücken betroffen, und ein Upload-Formular für Händlerdokumente prüft Dateien nur oberflächlich. Ein Angreifer hätte darüber eigenen Code auf dem Server ausführen und an die Zugangsdaten der Händler gelangen können. Das Unternehmen migriert die Plattform auf eine unterstützte PHP-Version und lässt das Upload-Formular nach dem Umbau erneut testen.

Warum ist das für Unternehmen wichtig?

Schwachstellen entstehen auf zwei Ebenen. Die meisten stecken im Anwendungscode: SQL-Injection, Cross-Site Scripting, unsichere Datei-Uploads, das Einbinden fremder Dateien über manipulierte Pfadangaben oder unsichere Deserialisierung mit der PHP-Funktion unserialize(). Erweiterungen und Plugins vergrößern die Angriffsfläche zusätzlich. Im schlimmsten Fall führen solche Fehler zu einer Remote Code Execution, also zur Übernahme des Servers.

Seltener, aber besonders folgenreich sind Lücken in der PHP-Laufzeit selbst. Sie betreffen jede Anwendung auf dem Server, auch wenn deren Code fehlerfrei ist. Ein Beispiel sind die 2026 bekannt gewordenen php2shell-Schwachstellen, über die Angreifer ohne Anmeldung Code ausführen können. Wer veraltete PHP-Versionen betreibt, bleibt bei solchen Lücken ohne Korrektur. Hinzu kommt, dass viele PHP-Installationen unbemerkt in Appliances, Verwaltungsoberflächen oder vergessenen Projektservern stecken.

So schützen Sie sich

  • Unterstützte Versionen einsetzen: Betreiben Sie nur PHP-Zweige, die noch Sicherheitsupdates erhalten, und planen Sie den Umstieg rechtzeitig vor dem End of Life.
  • Updates zügig einspielen: Sicherheitsupdates für PHP gehören ins Patch-Management. Starten Sie nach einem Update alle PHP-Prozesse neu.
  • Bestand kennen: Erfassen Sie alle Systeme mit PHP – auch Container, Hosting-Pakete und Herstellerprodukte.
  • Konfiguration härten: Schalten Sie Fehlermeldungen im Browser ab, blenden Sie die Versionsangabe im HTTP-Header aus, deaktivieren Sie nicht benötigte Funktionen und Erweiterungen und setzen Sie enge Grenzen für Uploads. Mehr dazu unter Härtung.
  • Sicher programmieren: Prepared Statements gegen SQL-Injection, konsequentes Escaping aller Ausgaben und eine strenge Prüfung hochgeladener Dateien gehören in jede PHP-Anwendung.
  • Regelmäßig testen: Penetrationstests und Code Reviews finden Schwachstellen in PHP-Anwendungen, bevor Angreifer es tun.

Wie Rootsektor unterstützt

Im Penetrationstest für Webanwendungen & Webshops prüfen wir PHP-Anwendungen auf typische Schwachstellen – von Injection-Lücken über Datei-Uploads bis zu Fehlern in der Rechteverwaltung. Mit einem Code Review untersuchen wir den Quellcode direkt. Eine Schwachstellenanalyse zeigt, wo in Ihrer Infrastruktur veraltete PHP-Versionen laufen.

Wie sicher ist Ihre PHP-Anwendung?

Wir prüfen Ihre Webanwendung auf Schwachstellen in Code und Konfiguration, bevor Angreifer sie finden. Sprechen Sie uns unverbindlich an.

Pentest-Angebot anfordern