Blog

Technique de codage sécurisé : traitement des données XML, partie 1

December 10, 2017
Pieter De Cremer
Extrait de code dans un terminal affichant le XML d'employés avec leur nom, leur rôle et le statut de leur code de sécurité.

Le langage XML (Extensible Markup Language) est un langage de balisage utilisé pour encoder des documents dans un format à la fois facile à manipuler pour les machines et lisible par l'humain. Cependant, ce format couramment utilisé comporte de multiples failles de sécurité. Dans ce premier article de blog consacré au XML, j'expliquerai les bases de la manipulation sécurisée des documents XML à l'aide d'un schéma.

L'OWASP divise les différentes vulnérabilités liées au XML et aux schémas XML en deux catégories.

Documents XML mal formés

Les documents XML mal formés sont des documents qui ne respectent pas les spécifications XML du W3C. Quelques exemples entraînant un document mal formé sont la suppression d'une balise de fermeture, la modification de l'ordre des différents éléments ou l'utilisation de caractères interdits. Toutes ces erreurs devraient entraîner une erreur fatale et le document ne devrait subir aucun traitement supplémentaire.

Afin d'éviter les vulnérabilités causées par des documents mal formés, vous devez utiliser un analyseur XML éprouvé qui respecte les spécifications du W3C et qui ne met pas beaucoup plus de temps à traiter les documents mal formés.

Documents XML invalides

Les documents XML invalides sont bien formés mais contiennent des valeurs inattendues. Ici, un attaquant peut tirer parti des applications qui ne définissent pas correctement un schéma XML pour identifier si les documents sont valides. Vous trouverez ci-dessous un exemple simple de document qui, s'il n'est pas validé correctement, pourrait avoir des conséquences imprévues.

Une boutique en ligne qui stocke ses transactions dans des données XML :

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

Et l'utilisateur n'a de contrôle que sur la valeur <id>. Il est alors possible, sans les contre-mesures appropriées, pour un attaquant de saisir quelque chose comme ceci :</id>

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

Si l'analyseur qui traite ce document ne lit que la première instance des balises <id> et <price>, cela conduira à des résultats indésirables. </price></id>

XML database with highlighted code showing user roles and passwords including an attacker administrator user.

Il est également possible que le schéma ne soit pas assez restrictif ou que d'autres validations d'entrée soient insuffisantes, permettant ainsi la saisie de nombres négatifs, de décimales spéciales (comme NaN ou Infinity) ou de valeurs excessivement grandes là où elles ne sont pas attendues, ce qui entraîne un comportement involontaire similaire.

Pour éviter les vulnérabilités liées aux documents XML invalides, il convient de définir un schéma XML précis et restrictif afin de prévenir les problèmes de validation de données inappropriée.

Dans le prochain article de blog, nous aborderons des attaques plus avancées sur les documents XML, telles que les « Jumbo Payloads » et la redoutable quatrième vulnérabilité du Top 10 de l'OWASP : l'XXE.

En attendant, vous pouvez perfectionner ou tester vos compétences en matière de validation d'entrée XML sur notre portail.

Les spécifications XML et les schémas XML comportent de multiples failles de sécurité. Parallèlement, ces spécifications fournissent les outils nécessaires pour protéger les applications XML. Bien que nous utilisions des schémas XML pour définir la sécurité des documents XML, ils peuvent être détournés pour mener diverses attaques : récupération de fichiers, falsification de requête côté serveur (SSRF), scan de ports ou attaques par force brute.

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

Slogan

Gouvernez le développement assisté par IA avant la mise en production

Évaluez les risques liés à l'IA, appliquez des politiques de codage sécurisé dès le commit et accélérez la livraison sécurisée tout au long de votre cycle de développement.

Réserver une démo
Bibliothèque de ressources

Explorer plus d'articles

Accédez à du contenu expert sur le codage sécurisé, la gouvernance de l'IA et la gestion des risques logiciels.

tout parcourir
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

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.

En savoir plus
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

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

En savoir plus
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Une culture de la sécurité : comment Sage a bâti son programme de champions

Découvrez comment Sage a renforcé sa sécurité grâce à une approche flexible axée sur les relations humaines, formant plus de 200 champions de la sécurité et obtenant une réduction mesurable des risques.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Mois de la sensibilisation à la cybersécurité 2026 : comprendre la sécurité de l'IA est essentiel à la défense de l'entreprise

Nous avons atteint un point où la plupart des grandes entreprises d'IA ont publiquement appelé à un ralentissement mondial du développement de l'IA afin de permettre aux garde-fous de sécurité de rattraper leur retard. Pourtant, la réalité est que de graves problèmes de sécurité se sont déjà concrétisés. Cela place d'innombrables responsables de la sécurité et équipes de direction dans une situation d'urgence, alors que les coûts financiers et les risques liés à la mise en œuvre de l'IA ne cessent de s'accumuler.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Levier 8 : Valoriser votre programme

Un programme de codage sécurisé a besoin de plus qu'un contenu de qualité pour réussir. Le levier 8 montre comment l'image de marque transforme la participation en une expérience convoitée, axée sur le statut.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Chaque employé est désormais en première ligne de la cybersécurité IA

Le paysage technologique des entreprises évolue à une vitesse que peu avaient anticipée avant qu'il ne soit trop tard. Nous avons officiellement franchi le cap du code écrit par l'humain et de l'assistance basique par copilote pour entrer dans l'ère du cycle de vie de développement agentique (ADLC). Si les agents IA autonomes promettent une efficacité sans précédent dans de multiples fonctions, ils apportent également une toute nouvelle catégorie de risques en matière de sécurité et de réglementation.

En savoir plus

Sécurisez le développement piloté par l'IA avant le déploiement

Identifiez les risques de développement, appliquez vos politiques et prévenez les vulnérabilités tout au long du cycle de vie de vos logiciels.

Réserver une démo
trust score
Aucun élément trouvé.