XML External Entities
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
Sie haben noch Fragen?