Kapitel 12. Externe XML-Entität

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

XML External Entity (XXE) ist eine Angriffskategorie, die oft sehr einfach auszuführen ist, aber verheerende Folgen hat. Diese Angriffskategorie beruht auf einem falsch konfigurierten XML-Parser im Code einer Anwendung.

Im Allgemeinen werden fast alle XXE-Angriffsschwachstellen als Folge eines API-Endpunkts gefunden, der eine XML- (oder XML-ähnliche) Nutzlast akzeptiert. Du denkst vielleicht, dass HTTP-Endpunkte, die XML akzeptieren, ungewöhnlich sind, aber zu den XML-ähnlichen Formaten gehören SVG, HTML/DOM, PDF (XFDF) und RTF. Diese XML-ähnlichen Formate haben viele Gemeinsamkeiten mit der XML-Spezifikation, so dass viele XML-Parser sie ebenfalls als Eingaben akzeptieren.

Die Magie hinter einem XXE-Angriff besteht darin, dass die XML-Spezifikation eine spezielle Anmerkung für den Import von externen Dateien enthält. Diese spezielle Anweisung, external entity genannt, wird auf dem Rechner interpretiert, auf dem die XML-Datei ausgewertet wird. Das bedeutet, dass eine speziell gestaltete XML-Nutzlast, die an den XML-Parser eines Servers gesendet wird, dazu führen kann, dass Dateien in der Dateistruktur des Servers kompromittiert werden. XXE wird häufig verwendet, um Dateien von anderen Benutzern zu kompromittieren oder um auf Dateien wie /etc/shadow zuzugreifen, in denen wichtige Anmeldeinformationen gespeichert sind, ...

Get Web Application Security, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.