Source Code Disclosure

Was ist Source Code Disclosure?

Die Offenlegung des Quellcodes (Source Code Disclosure) ist ein häufiges Sicherheitsproblem in  Webanwendungen. Diese Sicherheitsschwachstelle wird regelmäßig in der OWASP Top 10 gelistet. Diese Liste mit anerkannten und typischen Sicherheitsanfälligkeiten wird von der Non-Profit Organisation OWASP (Open Web Application Security Project) mit dem Ziel der Verbesserung der Software- und Internetsicherheit herausgegeben.

Beschreibung

Der Quellcode einer Anwendung wird vom Webserver offengelegt. Der serverseitig aufbewahrte Quellcode kann somit an Benutzer weitergegeben werden. Dieser Code kann u.a. vertrauliche Informationen enthalten, beispielsweise Datenbankkennwörter und geheime Schlüssel, die es Angreifern erleichtern, Angriffe auf die Anwendung zu formulieren und durchzuführen.

Serverseitiger Quellcode wird Clients normalerweise als Folge von typografischen Fehlern in Skripts oder aufgrund fehlerhafter Konfiguration, z.B. aufgrund fehlgeschlagener Berechtigungen für ein Skript oder Verzeichnis, offengelegt. Überprüfen Sie die Ursache für die Offenlegung des Codes und verhindern Sie deren Auftreten.

Varianten der Source Code Disclosure

Es gibt mehrere Möglichkeiten, wie der Quellcode offengelegt werden kann:

CVE-2012-1823

Bei der Source Code Disclosure kann CVE-2012-1823 genutzt werden, um serverseitigen PHP-Quellcode auf einem PHP-CGI-basierten Webserver offenzulegen. Dabei werden nur textbasierte Antworten (HTML, LS, JSON, XML usw.) analysiert, um falsche positive Ergebnisse zu vermeiden, die mit Bild oder anderen binären Inhalten auftreten können.

Wird beispielsweise angenommen, dass bestimmte Eingaben nicht geändert werden können, wird unter Umständen keine ausreichende Überprüfung der Eingaben durchgeführt, obwohl diese mit einem Proxy oder einem benutzerdefinierten Programm verändert werden können.

File Inclusion

Bei der File Inclusion wird der Quellcode offengelegt, wenn eine lokale Datei über Quelltext auf dem Webserver verfügt. Auf diese Weise können vorhandene vertrauliche Informationen, wie Benutzernamen, Kennwörter, etc., die sich auf die Anwendung und das System beziehen, offengelegt werden.

SVN

Bei der SVN Source Code Disclosure wird der Quellcode offengelegt, wenn Dateien Quelltext von Subversion-Metadaten auf dem Webserver gespeichert sind. Auf diese Weise können System- und Anwendungsinformationen, wie Zugangsdaten, Passwörter, etc. preisgeben werden.

WEB-INF Folder

Wird der Quellcode durch einen vorhandener ungeschützter /WEB-INF-Ordner, wird von einer  WEB-INF Folder Offenlegung gesprochen. Der ungeschützte Ordner wird zum Herunterladen und dekompilieren von Java-Klassen genutzt, um auf diese Wiese Java-Quellcode offenlegen zu können.

Git

Bei der Source Code Disclosure durch Git wird der Quellcode von Daten offengelegt, wenn sich Git-Quelltex-Metadaten auf dem Webserver befinden. Somit werden vertrauliche Informationen, Zugangsdaten oder ähnliches für Angreifer leichter zugänglich gemacht.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=-ETir_tcmWQ

Vermeidung

Um zu verhindern, dass vertrauliche Informationen durch die Source Code Disclosure unbefugten Dritte zugänglich gemacht werden, sollten keine sensiblen Daten in Dateien auf dem Webserver gespeichert werden.

Um sicherzustellen, dass die Daten vor einer Offenlegung geschützt sind, sollten die folgenden Schritte ausgeführt werden:

  • Schritt 1: Bestätigen Sie genau, welche Aspekte des Quellcodes tatsächlich veröffentlicht werden. Aufgrund der Einschränkungen bezüglich der Sicherheitsanfälligkeit kann dies möglicherweise nicht in allen Fällen bestätigt werden. Bestätigen Sie, dass dies keine beabsichtigte Funktionalität ist.
  • Schritt 2: Wenn es sich um eine Datei handelt, die von der Anwendung benötigt wird, ändern Sie die Berechtigungen, um zu verhindern, dass öffentliche Benutzer darauf zugreifen. Wenn nicht, entfernen Sie es vom Webserver.
  • Schritt 3: Stellen Sie sicher, dass auf dem Server alle aktuellen Sicherheitspatches installiert sind.
  • Schritt 4: Entfernen Sie alle temporären Dateien und Sicherungsdateien vom Webserver.

Bei der Offenlegung von Quellcode durch CVE-2012-1823 ist zu beachten, dass dieser bereits bei der Implementierung der Sicherheitsstrategie verursacht wird. Daher sollte schon von Beginn an eine Validierung von Eingaben verwendet werden.

Tipp

Überprüfen Sie die Sicherheit Ihrer Website mit unserem kostenlosen Security Crawler oder mit der OSG Performance Suite Free Version.

Datenbanklink zur Schwachstelle

https://cwe.mitre.org/data/definitions/18.html

https://cwe.mitre.org/data/definitions/20.html

https://cwe.mitre.org/data/definitions/540.html

https://cwe.mitre.org/data/definitions/541.html

https://portswigger.net/kb/issues/006000b0


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte