XML External Entities

xml External Entities

Copyright ┬ę Shutterstock / Trismegist san

Was ist XML External Entities?

XML External Entities (XXE) ist eine h├Ąufig auftauchende Sicherheitsschwachstelle in Webanwendungen. Sie steht regelm├Ą├čig in der OWASP Top 10, einer Liste typischer Sicherheitsprobleme von Webanwendungen, die von der Non-Profit-Organisation Open Web Application Security Projects zusammengestellt wird.

Beschreibung

XML External Entities (XXE) erm├Âglicht es Angreifern, sogenannte externe Entit├Ąten zu missbrauchen, wenn ein XML-Dokument analysiert wird. Die erste Version der Web-Auszeichnungssprache XML wurde 1996 ver├Âffentlicht, zu einer Zeit, als Sicherheit noch nicht so im Fokus stand wie heute. XML-Datenstrukturen enthalten Namen von Feldern und deren Wert. Neben dem Speichern von Zeichenfolgen k├Ânnen auch Links zu anderen Dateien oder Ressourcen enthalten sein.

Hier tritt das Problem auf: Wenn das XML-Dokument analysiert wird, folgt der XML-Parser dem Link und liest das verkn├╝pfte Dokument. Vorausgesetzt, der Angreifer kann die Ausgabe des analysierten XML-Dokuments sehen, gibt ihm das die M├Âglichkeit, lokale Dateien auf dem Server zu lesen. Ein solcher Angriff wird XXE genannt, da er externe Entit├Ąten (Links) missbraucht.

Auswirkungen

Der Angreifer kann mittels XML External Entities (XXE) lokale Dateien auf dem Server lesen, den XML-Parser dazu bringen, Netzwerkanfragen innerhalb des lokalen Netzwerks auszuf├╝hren, oder rekursive Verkn├╝pfungen verwenden, um einen Denial of Service-Angriff auszuf├╝hren.

Vermeidung

Der einfachste Weg, um auf diese Sicherheitsanf├Ąlligkeit hin zu testen, ist das Hochladen eines XML-Dokuments, das versucht, eine lokale Datei zu lesen, und zu pr├╝fen, ob dies erfolgreich ist. Dieser Test reicht aber nicht aus, wenn zus├Ątzliche Schutzma├čnahmen vorhanden sind, die umgangen werden k├Ânnen. Wenn XML als einfacher Datenspeicherung genutzt wird, sollte zu einem weniger komplexen Datenformat wie JSON gewechselt werden, um das Risiko einer Anf├Ąlligkeit f├╝r XML External Entities (XXE) zu vermeiden.
Wenn die Anwendung keine externen Entit├Ąten ben├Âtigt, sollte diese Funktion im Parser ganz deaktiviert werden. Wenn die von XML gebotenen Funktionen ben├Âtigt werden, ist sicherzustellen, dass alle XML-Parser und Bibliotheken von Drittanbietern, in denen diese Funktionen verwendet werden, aktualisiert sind. Da XXE inzwischen ein bekanntes Problem sind, umfassen sp├Ątere Versionen h├Ąufig Sicherheitsverbesserungen.

Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte