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