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