Sichere Codierungstechnik: Verarbeitung von XML-Daten, Teil 1

Extensible Markup Language (XML) ist eine Auszeichnungssprache, die für die Codierung von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen einfach zu handhaben als auch für Menschen lesbar ist. Dieses häufig verwendete Format weist jedoch mehrere Sicherheitslücken auf. In diesem ersten Blogbeitrag zum Thema XML werde ich die Grundlagen des sicheren Umgangs mit XML-Dokumenten mithilfe eines Schemas erläutern.
OWASP unterteilt die verschiedenen Sicherheitslücken im Zusammenhang mit XML- und XML-Schemas in zwei Kategorien.
Falsch formatierte XML-Dokumente
Fehlerhafte XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Einige Beispiele, die zu einem fehlerhaften Dokument führen, sind das Entfernen eines Endtags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung verbotener Zeichen. All diese Fehler sollten zu einem schwerwiegenden Fehler führen und das Dokument sollte keiner weiteren Verarbeitung unterzogen werden.
Um Sicherheitslücken zu vermeiden, die durch fehlerhafte Dokumente verursacht werden, sollten Sie einen gut getesteten XML-Parser verwenden, der den W3C-Spezifikationen entspricht und nicht wesentlich länger dauert, fehlerhafte Dokumente zu verarbeiten.
Ungültige XML-Dokumente
Ungültige XML-Dokumente sind wohlgeformt, enthalten aber unerwartete Werte. Hier kann ein Angreifer Anwendungen ausnutzen, die ein XML-Schema nicht richtig definieren, um festzustellen, ob Dokumente gültig sind. Im Folgenden finden Sie ein einfaches Beispiel für ein Dokument, das, wenn es nicht korrekt validiert wird, unbeabsichtigte Folgen haben kann.
Ein Webshop, der seine Transaktionen in XML-Daten speichert:
<purchase></purchase>
<id>123</id>
<price>200</price>
Und der Benutzer hat nur die Kontrolle über den <id>Wert. Es ist dann möglich, dass ein Angreifer ohne die richtigen Gegenmaßnahmen etwas wie das Folgende eingibt:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
Wenn der Parser, der dieses Dokument verarbeitet, nur die erste Instanz der <id><price>Tags und liest, führt dies zu unerwünschten Ergebnissen</price></id>.

Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder dass andere Eingabeüberprüfungen unzureichend sind, sodass negative Zahlen, spezielle Dezimalzahlen (wie NaN oder Infinity) oder übermäßig große Werte dort eingegeben werden können, wo sie nicht erwartet werden, was zu ähnlichem unbeabsichtigtem Verhalten führt.
Um Sicherheitslücken im Zusammenhang mit ungültigen XML-Dokumenten zu vermeiden, sollte ein genaues und restriktives XML-Schema definiert werden, um Probleme einer unsachgemäßen Datenvalidierung zu vermeiden.
Im nächsten Blogbeitrag werden wir uns mit einigen komplexeren Angriffen auf XML-Dokumente wie Jumbo Payloads und XXE, den gefürchteten OWASP Top Ten Nummer vier, befassen.
In der Zwischenzeit können Sie Ihre Fähigkeiten zur Validierung von XML-Eingaben verbessern oder herausfordern. auf unserem Portal.
Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig bieten diese Spezifikationen die Tools, die zum Schutz von XML-Anwendungen erforderlich sind. Obwohl wir XML-Schemas verwenden, um die Sicherheit von XML-Dokumenten zu definieren, können sie für eine Vielzahl von Angriffen verwendet werden: Dateiabruf, serverseitige Anforderungsfälschung, Port-Scanning oder Brute-Forcing.
Govern AI-driven development before it ships
Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.
Explore more blogs
Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

One Culture of Security: How Sage built their security champions program with agile secure code learning
Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.


