XXE External Entity

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.

Tipp

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

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.

Datenbanklink zur Schwachstelle

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


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte