Erkennung

Gefunden: Symfony Profiler war aktiviert in produktiver Umgebung

Symfony ist ein weit verbreitetes und leistungsfähiges PHP-Webframework, das zur Entwicklung moderner, skalierbarer und wartbarer Webanwendungen eingesetzt wird. Es bringt viele hilfreiche Werkzeuge mit, die Entwicklerinnen und Entwicklern den Alltag erleichtern und die Qualität der Software erhöhen.

Der Profiler ist ein Webtool zur Fehlersuche und zum Debugging. Er hilft dabei, Probleme in einer Anwendung schneller zu identifizieren, indem er unter anderem:

  • die letzten HTTP-Anfragen anzeigt

  • Fehlermeldungen und Exceptions darstellt

  • Informationen zu Sessions, Cookies und Headern liefert

  • Datenbankabfragen, Laufzeiten und Konfigurationen sichtbar macht

Gerade in der Entwicklungsphase ist der Profiler extrem hilfreich und spart viel Zeit bei der Analyse von Fehlern.

Sicherheitsrisiko: Öffentlicher Profiler

Wenn der Profiler allerdings öffentlich erreichbar ist - wie in diesem Fall - dann kann ein Angreifer damit jede Sitzung aller anderen produktiver Nutzer übernehmen. Es wäre für einen Angreifer einfach möglich, das Sitzungscookie eines anderen Nutzern (womöglich eines Admins) aus dem Profiler zu kopieren und damit die Sitzung des Admins zu übernehmen.

Der Angreifer wäre damit innerhalb weniger Schritte selbst Admin der Softwareanwendung. Der Profiler liefert diese Informationen ohne aktive Manipulation der Anwendung. Es handelt sich nicht um einen komplexen Hack, sondern um ein reines Ausnutzen einer Fehlkonfiguration. Deshalb sollte der Profiler auf keinen Fall in einer produktiven Umgebung erreichbar sein. Entweder den Profiler deaktivieren oder den Zugriff auf das Verzeichnis blockieren.

Wer den Profiler in einer produktiven Umgebung öffentlich zugänglich macht, ermöglicht unter Umständen Session-Hijacking und vollständige Übernahmen der Anwendung.

Debug-Tools gehören in die Entwicklung – nicht ins Internet.