Blog

Sichere Kodierungstechniken: Verarbeitung von XML-Daten, Teil 1

Pieter De Cremer
Veröffentlicht Dez 10, 2017

Extensible Markup Language (XML) ist eine Auszeichnungssprache, die zur Codierung von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen einfach zu handhaben als auch für Menschen lesbar ist. Allerdings enthält dieses häufig verwendete Format mehrere Sicherheitslücken. In diesem ersten Blog-Beitrag zum Thema XML erkläre ich die Grundlagen der sicheren Handhabung von XML-Dokumenten mit Hilfe eines Schemas.

OWASP unterteilt die verschiedenen Sicherheitslücken im Zusammenhang mit XML und XML-Schemas in zwei Kategorien.

Missgebildete XML-Dokumente

Missgebildete XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Einige Beispiele, die zu einem fehlerhaften Dokument führen, sind das Entfernen eines End-Tags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung von verbotenen Zeichen. Alle diese Fehler sollten zu einem schwerwiegenden Fehler führen und das Dokument sollte keine weitere Verarbeitung erfahren.

Um Schwachstellen durch missgebildete Dokumente zu vermeiden, sollten Sie einen gut getesteten XML-Parser verwenden, der den W3C-Spezifikationen folgt und nicht wesentlich länger braucht, um missgebildete Dokumente zu verarbeiten.

Ungültige XML-Dokumente

Ungültige XML-Dokumente sind wohlgeformt, enthalten aber unerwartete Werte. Hier kann sich ein Angreifer Anwendungen zunutze machen, die nicht ordnungsgemäß ein XML-Schema definieren, um zu erkennen, ob Dokumente gültig sind. Nachfolgend finden Sie ein einfaches Beispiel für ein Dokument, das, wenn es nicht korrekt validiert wird, unbeabsichtigte Folgen haben kann.

Ein Webspeicher, der seine Transaktionen in XML-Daten speichert:

   <purchase></purchase>
     <id>123</id>
     <price>200</price>
   

And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>

   <purchase></purchase>
     <id>123</id>
     <price>0</price>
     <id></id>
     <price>200</price>
   

If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>

Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder dass die sonstige Eingabevalidierung unzureichend ist, so dass negative Zahlen, spezielle Dezimalzahlen (wie NaN oder Infinity) oder übermäßig große Werte eingegeben werden können, wo sie nicht erwartet werden, was zu ähnlichem unbeabsichtigtem Verhalten führt.

Um Schwachstellen im Zusammenhang mit ungültigen XML-Dokumenten zu vermeiden, sollte ein präzises und restriktives XML-Schema definiert werden, um Probleme durch unsachgemäße Datenvalidierung zu vermeiden.

Im nächsten Blog-Beitrag werden wir auf einige fortgeschrittenere Angriffe auf XML-Dokumente eingehen, wie z.B. Jumbo Payloads und die gefürchtete OWASP Top Ten Nummer vier, XXE.

In der Zwischenzeit können Sie Ihre Kenntnisse über die XML-Eingabevalidierung auf unserem Portalvertiefen oder herausfordern .

Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn 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 Request Forgery, Port-Scanning oder Brute Forcing.

https://www.owasp.org/index.php/XML_Security_Cheat_Sheet

Ressource anzeigen
Ressource anzeigen

Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn wir XML-Schemas verwenden, um die Sicherheit von XML-Dokumenten zu definieren, können sie für eine Vielzahl von Angriffen verwendet werden.

Interessiert an mehr?

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Demo buchen
Weitergeben:
Autor
Pieter De Cremer
Veröffentlicht Dez 10, 2017

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Weitergeben:

Extensible Markup Language (XML) ist eine Auszeichnungssprache, die zur Codierung von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen einfach zu handhaben als auch für Menschen lesbar ist. Allerdings enthält dieses häufig verwendete Format mehrere Sicherheitslücken. In diesem ersten Blog-Beitrag zum Thema XML erkläre ich die Grundlagen der sicheren Handhabung von XML-Dokumenten mit Hilfe eines Schemas.

OWASP unterteilt die verschiedenen Sicherheitslücken im Zusammenhang mit XML und XML-Schemas in zwei Kategorien.

Missgebildete XML-Dokumente

Missgebildete XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Einige Beispiele, die zu einem fehlerhaften Dokument führen, sind das Entfernen eines End-Tags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung von verbotenen Zeichen. Alle diese Fehler sollten zu einem schwerwiegenden Fehler führen und das Dokument sollte keine weitere Verarbeitung erfahren.

Um Schwachstellen durch missgebildete Dokumente zu vermeiden, sollten Sie einen gut getesteten XML-Parser verwenden, der den W3C-Spezifikationen folgt und nicht wesentlich länger braucht, um missgebildete Dokumente zu verarbeiten.

Ungültige XML-Dokumente

Ungültige XML-Dokumente sind wohlgeformt, enthalten aber unerwartete Werte. Hier kann sich ein Angreifer Anwendungen zunutze machen, die nicht ordnungsgemäß ein XML-Schema definieren, um zu erkennen, ob Dokumente gültig sind. Nachfolgend finden Sie ein einfaches Beispiel für ein Dokument, das, wenn es nicht korrekt validiert wird, unbeabsichtigte Folgen haben kann.

Ein Webspeicher, der seine Transaktionen in XML-Daten speichert:

   <purchase></purchase>
     <id>123</id>
     <price>200</price>
   

And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>

   <purchase></purchase>
     <id>123</id>
     <price>0</price>
     <id></id>
     <price>200</price>
   

If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>

Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder dass die sonstige Eingabevalidierung unzureichend ist, so dass negative Zahlen, spezielle Dezimalzahlen (wie NaN oder Infinity) oder übermäßig große Werte eingegeben werden können, wo sie nicht erwartet werden, was zu ähnlichem unbeabsichtigtem Verhalten führt.

Um Schwachstellen im Zusammenhang mit ungültigen XML-Dokumenten zu vermeiden, sollte ein präzises und restriktives XML-Schema definiert werden, um Probleme durch unsachgemäße Datenvalidierung zu vermeiden.

Im nächsten Blog-Beitrag werden wir auf einige fortgeschrittenere Angriffe auf XML-Dokumente eingehen, wie z.B. Jumbo Payloads und die gefürchtete OWASP Top Ten Nummer vier, XXE.

In der Zwischenzeit können Sie Ihre Kenntnisse über die XML-Eingabevalidierung auf unserem Portalvertiefen oder herausfordern .

Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn 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 Request Forgery, Port-Scanning oder Brute Forcing.

https://www.owasp.org/index.php/XML_Security_Cheat_Sheet

Ressource anzeigen
Ressource anzeigen

Füllen Sie das folgende Formular aus, um den Bericht herunterzuladen

Wir bitten Sie um Ihre Erlaubnis, Ihnen Informationen über unsere Produkte und/oder verwandte Themen der sicheren Codierung zuzusenden. Wir werden Ihre persönlichen Daten immer mit äußerster Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Senden
Um das Formular abzuschicken, aktivieren Sie bitte "Analytics"-Cookies. Sie können die Cookies wieder deaktivieren, sobald Sie fertig sind.

Extensible Markup Language (XML) ist eine Auszeichnungssprache, die zur Codierung von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen einfach zu handhaben als auch für Menschen lesbar ist. Allerdings enthält dieses häufig verwendete Format mehrere Sicherheitslücken. In diesem ersten Blog-Beitrag zum Thema XML erkläre ich die Grundlagen der sicheren Handhabung von XML-Dokumenten mit Hilfe eines Schemas.

OWASP unterteilt die verschiedenen Sicherheitslücken im Zusammenhang mit XML und XML-Schemas in zwei Kategorien.

Missgebildete XML-Dokumente

Missgebildete XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Einige Beispiele, die zu einem fehlerhaften Dokument führen, sind das Entfernen eines End-Tags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung von verbotenen Zeichen. Alle diese Fehler sollten zu einem schwerwiegenden Fehler führen und das Dokument sollte keine weitere Verarbeitung erfahren.

Um Schwachstellen durch missgebildete Dokumente zu vermeiden, sollten Sie einen gut getesteten XML-Parser verwenden, der den W3C-Spezifikationen folgt und nicht wesentlich länger braucht, um missgebildete Dokumente zu verarbeiten.

Ungültige XML-Dokumente

Ungültige XML-Dokumente sind wohlgeformt, enthalten aber unerwartete Werte. Hier kann sich ein Angreifer Anwendungen zunutze machen, die nicht ordnungsgemäß ein XML-Schema definieren, um zu erkennen, ob Dokumente gültig sind. Nachfolgend finden Sie ein einfaches Beispiel für ein Dokument, das, wenn es nicht korrekt validiert wird, unbeabsichtigte Folgen haben kann.

Ein Webspeicher, der seine Transaktionen in XML-Daten speichert:

   <purchase></purchase>
     <id>123</id>
     <price>200</price>
   

And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>

   <purchase></purchase>
     <id>123</id>
     <price>0</price>
     <id></id>
     <price>200</price>
   

If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>

Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder dass die sonstige Eingabevalidierung unzureichend ist, so dass negative Zahlen, spezielle Dezimalzahlen (wie NaN oder Infinity) oder übermäßig große Werte eingegeben werden können, wo sie nicht erwartet werden, was zu ähnlichem unbeabsichtigtem Verhalten führt.

Um Schwachstellen im Zusammenhang mit ungültigen XML-Dokumenten zu vermeiden, sollte ein präzises und restriktives XML-Schema definiert werden, um Probleme durch unsachgemäße Datenvalidierung zu vermeiden.

Im nächsten Blog-Beitrag werden wir auf einige fortgeschrittenere Angriffe auf XML-Dokumente eingehen, wie z.B. Jumbo Payloads und die gefürchtete OWASP Top Ten Nummer vier, XXE.

In der Zwischenzeit können Sie Ihre Kenntnisse über die XML-Eingabevalidierung auf unserem Portalvertiefen oder herausfordern .

Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn 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 Request Forgery, Port-Scanning oder Brute Forcing.

https://www.owasp.org/index.php/XML_Security_Cheat_Sheet

Auf Ressource zugreifen

Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht ansehenDemo buchen
PDF herunterladen
Ressource anzeigen
Weitergeben:
Interessiert an mehr?

Weitergeben:
Autor
Pieter De Cremer
Veröffentlicht Dez 10, 2017

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Weitergeben:

Extensible Markup Language (XML) ist eine Auszeichnungssprache, die zur Codierung von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen einfach zu handhaben als auch für Menschen lesbar ist. Allerdings enthält dieses häufig verwendete Format mehrere Sicherheitslücken. In diesem ersten Blog-Beitrag zum Thema XML erkläre ich die Grundlagen der sicheren Handhabung von XML-Dokumenten mit Hilfe eines Schemas.

OWASP unterteilt die verschiedenen Sicherheitslücken im Zusammenhang mit XML und XML-Schemas in zwei Kategorien.

Missgebildete XML-Dokumente

Missgebildete XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Einige Beispiele, die zu einem fehlerhaften Dokument führen, sind das Entfernen eines End-Tags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung von verbotenen Zeichen. Alle diese Fehler sollten zu einem schwerwiegenden Fehler führen und das Dokument sollte keine weitere Verarbeitung erfahren.

Um Schwachstellen durch missgebildete Dokumente zu vermeiden, sollten Sie einen gut getesteten XML-Parser verwenden, der den W3C-Spezifikationen folgt und nicht wesentlich länger braucht, um missgebildete Dokumente zu verarbeiten.

Ungültige XML-Dokumente

Ungültige XML-Dokumente sind wohlgeformt, enthalten aber unerwartete Werte. Hier kann sich ein Angreifer Anwendungen zunutze machen, die nicht ordnungsgemäß ein XML-Schema definieren, um zu erkennen, ob Dokumente gültig sind. Nachfolgend finden Sie ein einfaches Beispiel für ein Dokument, das, wenn es nicht korrekt validiert wird, unbeabsichtigte Folgen haben kann.

Ein Webspeicher, der seine Transaktionen in XML-Daten speichert:

   <purchase></purchase>
     <id>123</id>
     <price>200</price>
   

And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>

   <purchase></purchase>
     <id>123</id>
     <price>0</price>
     <id></id>
     <price>200</price>
   

If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>

Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder dass die sonstige Eingabevalidierung unzureichend ist, so dass negative Zahlen, spezielle Dezimalzahlen (wie NaN oder Infinity) oder übermäßig große Werte eingegeben werden können, wo sie nicht erwartet werden, was zu ähnlichem unbeabsichtigtem Verhalten führt.

Um Schwachstellen im Zusammenhang mit ungültigen XML-Dokumenten zu vermeiden, sollte ein präzises und restriktives XML-Schema definiert werden, um Probleme durch unsachgemäße Datenvalidierung zu vermeiden.

Im nächsten Blog-Beitrag werden wir auf einige fortgeschrittenere Angriffe auf XML-Dokumente eingehen, wie z.B. Jumbo Payloads und die gefürchtete OWASP Top Ten Nummer vier, XXE.

In der Zwischenzeit können Sie Ihre Kenntnisse über die XML-Eingabevalidierung auf unserem Portalvertiefen oder herausfordern .

Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn 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 Request Forgery, Port-Scanning oder Brute Forcing.

https://www.owasp.org/index.php/XML_Security_Cheat_Sheet

Inhaltsübersicht

PDF herunterladen
Ressource anzeigen
Interessiert an mehr?

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Demo buchenHerunterladen
Weitergeben:
Ressourcendrehscheibe

Ressourcen für den Einstieg

Mehr Beiträge
Ressourcendrehscheibe

Ressourcen für den Einstieg

Mehr Beiträge