XXE External Entity

XXE

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