XXE External Entity

XXE External Entity

Copyright © Shutterstock/ KirinIsHappy

Was ist XXE External Entity?

Bei der XXE External Entity (externer Datensatz) verarbeitet die Software ein XML-Dokument, das XML-DatensĂ€tze mit URIs enthalten kann, die sich in Dokumenten außerhalb des beabsichtigten Kontrollbereichs auflösen, wodurch falsche Dokumente in eine Ausgabe einbetten werden können.

Beschreibung

XML-Dokumente enthalten optional eine DTD (Document Type Definition), die unter anderem die Definition von XML-DatensÀtzen ermöglicht. Sie können einen Datensatz definieren, indem Sie eine Ersetzungszeichenfolge in Form eines URI angeben. Der XML-Parser kann auf den Inhalt dieses URIs zugreifen und den Inhalt zur weiteren Verarbeitung wieder in das XML-Dokument einbetten.

Durch das Senden einer XML-Datei, die einen externen Datensatz mit einem file://URI definiert, kann ein Angreifer die verarbeitende Anwendung dazu veranlassen, den Inhalt einer lokalen Datei zu lesen. Beispielsweise bezeichnet ein URI wie “file:///c:/winnt/win.ini” (unter Windows) die Datei C:Winntwin.ini oder file:///etc/passwd die Kennwort-Datei in Unix-basierten Systemen. Durch die Verwendung von URIs mit anderen Schemas wie http:// kann der Angreifer die Anwendung zwingen, abgehende Anfragen an Server zu senden, die der Angreifer nicht direkt erreichen kann. Diese können verwendet werden, um Firewall-EinschrĂ€nkungen zu umgehen oder die Quelle von Angriffen zu verstecken.

Sobald der Inhalt des URIs gelesen wurde, wird dieser an die Anwendung zurĂŒckgegeben, die das XML verarbeitet. Diese Anwendung kann die Daten zurĂŒcksenden (z.B. in einer Fehlermeldung), wodurch der Datei-Inhalt freigelegt wird.

Lösung

Security Scanner versuchen Anwendungen zu identifizieren, die XML-Angriffen (XXE) ausgesetzt sind. Anwendungen, die XML-Eingaben analysieren, können XXE unterliegen, wenn schwach oder schlecht konfigurierte Parser XML-Eingaben verarbeiten, die einen Verweis auf einen externen Datensatz enthalten, z.B. eine Lokale Datei, HTTP-Anfragen an interne oder tertiÀre Systeme usw.

Die Callback-Erweiterung ist erforderlich, welche nicht funktioniert, wenn diese Erweiterung deaktiviert oder entfernt ist. Außerdem wird empfohlen zu testen, ob die Callback-Erweiterung fĂŒr den Zielstandort richtig konfiguriert ist. Wenn das Zielsystem keine Verbindung zur Callback-Adresse herstellen kann, werden einige XXE-Schwachstellen nicht erkannt.

Viele XML-Parser und -Validierer können so konfiguriert werden, dass die Erweiterung externer DatensÀtze deaktiviert wird.

Tipp

Wenn Sie noch Fragen bezĂŒglich des Themas haben, dann können Sie sich gerne weiter ĂŒber die Seite der CWE Organisation darĂŒber weiter informieren.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte