
コーダーがセキュリティを征服:共有して学ぶシリーズ-XQuery インジェクション
Les attaques par injection XQuery sont parfois considérées comme le petit frère des attaques par injection SQL, plus répandues. Leurs causes profondes sont similaires et les commandes que les attaquants exploitent pour les déclencher sont également très proches. Les attaques par injection XQuery ne peuvent toutefois se produire que lors d'une requête XPath portant sur des données XML. C'est pourquoi elles sont parfois appelées "injections XPath" ou simplement "attaques XPath", car c'est la méthode de livraison utilisée.
Une grande majorité de sites web utilisent des bases de données XML pour remplir des fonctions critiques telles que la conservation des identifiants de connexion des utilisateurs, des informations sur les clients, des informations sur l'identité personnelle et des données confidentielles ou sensibles, ce qui laisse aux attaques XQuery une empreinte d'attaque assez importante.
Dans cet épisode, vous apprendrez
- Comment les attaquants utilisent les injections XQuery
- Pourquoi les injections XQuery sont dangereuses
- Techniques permettant de corriger cette vulnérabilité.
Comment les attaquants déclenchent-ils une injection XQuery ?
Comme pour la plupart des langages informatiques, le code de XPath a été conçu pour être simple. En fait, XPath est un langage standard, et toutes les notations et déclarations syntaxiques sont inchangées quelle que soit l'application qui les utilise. Cela signifie que les commandes utilisées pour manipuler une requête XPath sont bien connues et peuvent même être automatisées.
À la base, une requête XPath est une simple déclaration qui indique à la base de données XML les informations à rechercher. Dans l'un des exemples les plus simples, elle est utilisée pour vérifier si un enregistrement d'utilisateur existe, puis pour récupérer ses identifiants de connexion. Le problème est qu'étant donné que les requêtes XPath comprennent une entrée utilisateur, les pirates peuvent manipuler la requête pour renvoyer des informations qui devraient être protégées.
Par exemple, lorsqu'il tente de contourner la sécurité de la connexion, un attaquant peut ajouter des variables à la fin de sa requête XPath, ce qui permet de contourner l'ensemble du processus. Un exemple pourrait ressembler à ceci :
//Employee[UserName/text()=anyone or 1=1 or a=a And Password/text()=doesnotmatter]
Ici, le champ Nom d'utilisateur peut correspondre à n'importe quel utilisateur grâce à la déclaration 1=1 ou a=a. Le champ mot de passe n'a pas d'importance, puisque seule la première partie de la requête doit être vraie.
Pourquoi l'injection XQuery est-elle dangereuse ?
L'une des principales raisons pour lesquelles les attaques par injection XQuery sont si dangereuses est qu'elles permettent aux attaquants de contourner la sécurité des connexions et des comptes. De plus, elles permettent de le faire de manière automatisée à l'aide d'un langage standard qui ne varie pas d'une application à l'autre. Les attaquants peuvent analyser automatiquement les sites web et les applications à la recherche de cette vulnérabilité et agir dès qu'elle est découverte. Si votre application est vulnérable, les attaquants la compromettront. En plus de compromettre la sécurité des comptes, les attaques XQuery peuvent également être utilisées pour exfiltrer des données. Par exemple, un attaquant pourrait transférer tous les enregistrements hors de la base de données XML.
Élimination des attaques par injection de XQuery
Comme pour les vulnérabilités similaires, l'un des principaux moyens de défense consiste simplement à ne pas faire confiance aux données saisies par l'utilisateur. Chaque fois qu'un utilisateur est en mesure de saisir des informations, qu'il interroge une base de données ou non, le processus doit être examiné de près. C'est un peu comme sécuriser les fenêtres et les portes d'un bâtiment physique, puisque ce sont les principaux moyens d'accès.
Pour la protection contre les injections XQuery, cela se fait en nettoyant l'entrée de l'utilisateur par le filtrage, ou en utilisant la validation de l'entrée de l'utilisateur par une liste blanche. Vous pouvez également utiliser une interface XPath paramétrée, similaire aux instructions préparées pour les requêtes SQL.
Enfin, veillez à appliquer le principe du moindre privilège à toutes les applications. Cela peut signifier la création d'un utilisateur avec des privilèges de lecture seule pour effectuer toutes les requêtes de l'application.
En utilisant ces techniques, il est possible d'arrêter toutes les tentatives d'injection de XQuery contre votre site web ou votre application.
Plus d'informations sur les injections XQuery
Pour en savoir plus, vous pouvez consulter ce que dit l'OWASP à propos des injections XQuery. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à une démonstration gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité à devenir les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blog Secure Code Warrior.


Webサイトの大半は、XMLデータベースを使用して、ユーザーのログイン認証情報、顧客情報、個人識別情報、機密データなどの重要な機能を実行しています。そのため、XQuery攻撃は攻撃の対象範囲がかなり大きくなります。
Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。

Secure Code Warrior vous assiste dans la protection de votre code tout au long du cycle de vie du développement logiciel et dans la création d'une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou professionnel de la sécurité, nous vous aidons à réduire les risques liés au code non sécurisé.
Veuillez réserver une démonstration.Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。


Les attaques par injection XQuery sont parfois considérées comme le petit frère des attaques par injection SQL, plus répandues. Leurs causes profondes sont similaires et les commandes que les attaquants exploitent pour les déclencher sont également très proches. Les attaques par injection XQuery ne peuvent toutefois se produire que lors d'une requête XPath portant sur des données XML. C'est pourquoi elles sont parfois appelées "injections XPath" ou simplement "attaques XPath", car c'est la méthode de livraison utilisée.
Une grande majorité de sites web utilisent des bases de données XML pour remplir des fonctions critiques telles que la conservation des identifiants de connexion des utilisateurs, des informations sur les clients, des informations sur l'identité personnelle et des données confidentielles ou sensibles, ce qui laisse aux attaques XQuery une empreinte d'attaque assez importante.
Dans cet épisode, vous apprendrez
- Comment les attaquants utilisent les injections XQuery
- Pourquoi les injections XQuery sont dangereuses
- Techniques permettant de corriger cette vulnérabilité.
Comment les attaquants déclenchent-ils une injection XQuery ?
Comme pour la plupart des langages informatiques, le code de XPath a été conçu pour être simple. En fait, XPath est un langage standard, et toutes les notations et déclarations syntaxiques sont inchangées quelle que soit l'application qui les utilise. Cela signifie que les commandes utilisées pour manipuler une requête XPath sont bien connues et peuvent même être automatisées.
À la base, une requête XPath est une simple déclaration qui indique à la base de données XML les informations à rechercher. Dans l'un des exemples les plus simples, elle est utilisée pour vérifier si un enregistrement d'utilisateur existe, puis pour récupérer ses identifiants de connexion. Le problème est qu'étant donné que les requêtes XPath comprennent une entrée utilisateur, les pirates peuvent manipuler la requête pour renvoyer des informations qui devraient être protégées.
Par exemple, lorsqu'il tente de contourner la sécurité de la connexion, un attaquant peut ajouter des variables à la fin de sa requête XPath, ce qui permet de contourner l'ensemble du processus. Un exemple pourrait ressembler à ceci :
//Employee[UserName/text()=anyone or 1=1 or a=a And Password/text()=doesnotmatter]
Ici, le champ Nom d'utilisateur peut correspondre à n'importe quel utilisateur grâce à la déclaration 1=1 ou a=a. Le champ mot de passe n'a pas d'importance, puisque seule la première partie de la requête doit être vraie.
Pourquoi l'injection XQuery est-elle dangereuse ?
L'une des principales raisons pour lesquelles les attaques par injection XQuery sont si dangereuses est qu'elles permettent aux attaquants de contourner la sécurité des connexions et des comptes. De plus, elles permettent de le faire de manière automatisée à l'aide d'un langage standard qui ne varie pas d'une application à l'autre. Les attaquants peuvent analyser automatiquement les sites web et les applications à la recherche de cette vulnérabilité et agir dès qu'elle est découverte. Si votre application est vulnérable, les attaquants la compromettront. En plus de compromettre la sécurité des comptes, les attaques XQuery peuvent également être utilisées pour exfiltrer des données. Par exemple, un attaquant pourrait transférer tous les enregistrements hors de la base de données XML.
Élimination des attaques par injection de XQuery
Comme pour les vulnérabilités similaires, l'un des principaux moyens de défense consiste simplement à ne pas faire confiance aux données saisies par l'utilisateur. Chaque fois qu'un utilisateur est en mesure de saisir des informations, qu'il interroge une base de données ou non, le processus doit être examiné de près. C'est un peu comme sécuriser les fenêtres et les portes d'un bâtiment physique, puisque ce sont les principaux moyens d'accès.
Pour la protection contre les injections XQuery, cela se fait en nettoyant l'entrée de l'utilisateur par le filtrage, ou en utilisant la validation de l'entrée de l'utilisateur par une liste blanche. Vous pouvez également utiliser une interface XPath paramétrée, similaire aux instructions préparées pour les requêtes SQL.
Enfin, veillez à appliquer le principe du moindre privilège à toutes les applications. Cela peut signifier la création d'un utilisateur avec des privilèges de lecture seule pour effectuer toutes les requêtes de l'application.
En utilisant ces techniques, il est possible d'arrêter toutes les tentatives d'injection de XQuery contre votre site web ou votre application.
Plus d'informations sur les injections XQuery
Pour en savoir plus, vous pouvez consulter ce que dit l'OWASP à propos des injections XQuery. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à une démonstration gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité à devenir les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blog Secure Code Warrior.

Les attaques par injection XQuery sont parfois considérées comme le petit frère des attaques par injection SQL, plus répandues. Leurs causes profondes sont similaires et les commandes que les attaquants exploitent pour les déclencher sont également très proches. Les attaques par injection XQuery ne peuvent toutefois se produire que lors d'une requête XPath portant sur des données XML. C'est pourquoi elles sont parfois appelées "injections XPath" ou simplement "attaques XPath", car c'est la méthode de livraison utilisée.
Une grande majorité de sites web utilisent des bases de données XML pour remplir des fonctions critiques telles que la conservation des identifiants de connexion des utilisateurs, des informations sur les clients, des informations sur l'identité personnelle et des données confidentielles ou sensibles, ce qui laisse aux attaques XQuery une empreinte d'attaque assez importante.
Dans cet épisode, vous apprendrez
- Comment les attaquants utilisent les injections XQuery
- Pourquoi les injections XQuery sont dangereuses
- Techniques permettant de corriger cette vulnérabilité.
Comment les attaquants déclenchent-ils une injection XQuery ?
Comme pour la plupart des langages informatiques, le code de XPath a été conçu pour être simple. En fait, XPath est un langage standard, et toutes les notations et déclarations syntaxiques sont inchangées quelle que soit l'application qui les utilise. Cela signifie que les commandes utilisées pour manipuler une requête XPath sont bien connues et peuvent même être automatisées.
À la base, une requête XPath est une simple déclaration qui indique à la base de données XML les informations à rechercher. Dans l'un des exemples les plus simples, elle est utilisée pour vérifier si un enregistrement d'utilisateur existe, puis pour récupérer ses identifiants de connexion. Le problème est qu'étant donné que les requêtes XPath comprennent une entrée utilisateur, les pirates peuvent manipuler la requête pour renvoyer des informations qui devraient être protégées.
Par exemple, lorsqu'il tente de contourner la sécurité de la connexion, un attaquant peut ajouter des variables à la fin de sa requête XPath, ce qui permet de contourner l'ensemble du processus. Un exemple pourrait ressembler à ceci :
//Employee[UserName/text()=anyone or 1=1 or a=a And Password/text()=doesnotmatter]
Ici, le champ Nom d'utilisateur peut correspondre à n'importe quel utilisateur grâce à la déclaration 1=1 ou a=a. Le champ mot de passe n'a pas d'importance, puisque seule la première partie de la requête doit être vraie.
Pourquoi l'injection XQuery est-elle dangereuse ?
L'une des principales raisons pour lesquelles les attaques par injection XQuery sont si dangereuses est qu'elles permettent aux attaquants de contourner la sécurité des connexions et des comptes. De plus, elles permettent de le faire de manière automatisée à l'aide d'un langage standard qui ne varie pas d'une application à l'autre. Les attaquants peuvent analyser automatiquement les sites web et les applications à la recherche de cette vulnérabilité et agir dès qu'elle est découverte. Si votre application est vulnérable, les attaquants la compromettront. En plus de compromettre la sécurité des comptes, les attaques XQuery peuvent également être utilisées pour exfiltrer des données. Par exemple, un attaquant pourrait transférer tous les enregistrements hors de la base de données XML.
Élimination des attaques par injection de XQuery
Comme pour les vulnérabilités similaires, l'un des principaux moyens de défense consiste simplement à ne pas faire confiance aux données saisies par l'utilisateur. Chaque fois qu'un utilisateur est en mesure de saisir des informations, qu'il interroge une base de données ou non, le processus doit être examiné de près. C'est un peu comme sécuriser les fenêtres et les portes d'un bâtiment physique, puisque ce sont les principaux moyens d'accès.
Pour la protection contre les injections XQuery, cela se fait en nettoyant l'entrée de l'utilisateur par le filtrage, ou en utilisant la validation de l'entrée de l'utilisateur par une liste blanche. Vous pouvez également utiliser une interface XPath paramétrée, similaire aux instructions préparées pour les requêtes SQL.
Enfin, veillez à appliquer le principe du moindre privilège à toutes les applications. Cela peut signifier la création d'un utilisateur avec des privilèges de lecture seule pour effectuer toutes les requêtes de l'application.
En utilisant ces techniques, il est possible d'arrêter toutes les tentatives d'injection de XQuery contre votre site web ou votre application.
Plus d'informations sur les injections XQuery
Pour en savoir plus, vous pouvez consulter ce que dit l'OWASP à propos des injections XQuery. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à une démonstration gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité à devenir les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blog Secure Code Warrior.

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.
Secure Code Warrior vous assiste dans la protection de votre code tout au long du cycle de vie du développement logiciel et dans la création d'une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou professionnel de la sécurité, nous vous aidons à réduire les risques liés au code non sécurisé.
Afficher le rapportVeuillez réserver une démonstration.Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。
Les attaques par injection XQuery sont parfois considérées comme le petit frère des attaques par injection SQL, plus répandues. Leurs causes profondes sont similaires et les commandes que les attaquants exploitent pour les déclencher sont également très proches. Les attaques par injection XQuery ne peuvent toutefois se produire que lors d'une requête XPath portant sur des données XML. C'est pourquoi elles sont parfois appelées "injections XPath" ou simplement "attaques XPath", car c'est la méthode de livraison utilisée.
Une grande majorité de sites web utilisent des bases de données XML pour remplir des fonctions critiques telles que la conservation des identifiants de connexion des utilisateurs, des informations sur les clients, des informations sur l'identité personnelle et des données confidentielles ou sensibles, ce qui laisse aux attaques XQuery une empreinte d'attaque assez importante.
Dans cet épisode, vous apprendrez
- Comment les attaquants utilisent les injections XQuery
- Pourquoi les injections XQuery sont dangereuses
- Techniques permettant de corriger cette vulnérabilité.
Comment les attaquants déclenchent-ils une injection XQuery ?
Comme pour la plupart des langages informatiques, le code de XPath a été conçu pour être simple. En fait, XPath est un langage standard, et toutes les notations et déclarations syntaxiques sont inchangées quelle que soit l'application qui les utilise. Cela signifie que les commandes utilisées pour manipuler une requête XPath sont bien connues et peuvent même être automatisées.
À la base, une requête XPath est une simple déclaration qui indique à la base de données XML les informations à rechercher. Dans l'un des exemples les plus simples, elle est utilisée pour vérifier si un enregistrement d'utilisateur existe, puis pour récupérer ses identifiants de connexion. Le problème est qu'étant donné que les requêtes XPath comprennent une entrée utilisateur, les pirates peuvent manipuler la requête pour renvoyer des informations qui devraient être protégées.
Par exemple, lorsqu'il tente de contourner la sécurité de la connexion, un attaquant peut ajouter des variables à la fin de sa requête XPath, ce qui permet de contourner l'ensemble du processus. Un exemple pourrait ressembler à ceci :
//Employee[UserName/text()=anyone or 1=1 or a=a And Password/text()=doesnotmatter]
Ici, le champ Nom d'utilisateur peut correspondre à n'importe quel utilisateur grâce à la déclaration 1=1 ou a=a. Le champ mot de passe n'a pas d'importance, puisque seule la première partie de la requête doit être vraie.
Pourquoi l'injection XQuery est-elle dangereuse ?
L'une des principales raisons pour lesquelles les attaques par injection XQuery sont si dangereuses est qu'elles permettent aux attaquants de contourner la sécurité des connexions et des comptes. De plus, elles permettent de le faire de manière automatisée à l'aide d'un langage standard qui ne varie pas d'une application à l'autre. Les attaquants peuvent analyser automatiquement les sites web et les applications à la recherche de cette vulnérabilité et agir dès qu'elle est découverte. Si votre application est vulnérable, les attaquants la compromettront. En plus de compromettre la sécurité des comptes, les attaques XQuery peuvent également être utilisées pour exfiltrer des données. Par exemple, un attaquant pourrait transférer tous les enregistrements hors de la base de données XML.
Élimination des attaques par injection de XQuery
Comme pour les vulnérabilités similaires, l'un des principaux moyens de défense consiste simplement à ne pas faire confiance aux données saisies par l'utilisateur. Chaque fois qu'un utilisateur est en mesure de saisir des informations, qu'il interroge une base de données ou non, le processus doit être examiné de près. C'est un peu comme sécuriser les fenêtres et les portes d'un bâtiment physique, puisque ce sont les principaux moyens d'accès.
Pour la protection contre les injections XQuery, cela se fait en nettoyant l'entrée de l'utilisateur par le filtrage, ou en utilisant la validation de l'entrée de l'utilisateur par une liste blanche. Vous pouvez également utiliser une interface XPath paramétrée, similaire aux instructions préparées pour les requêtes SQL.
Enfin, veillez à appliquer le principe du moindre privilège à toutes les applications. Cela peut signifier la création d'un utilisateur avec des privilèges de lecture seule pour effectuer toutes les requêtes de l'application.
En utilisant ces techniques, il est possible d'arrêter toutes les tentatives d'injection de XQuery contre votre site web ou votre application.
Plus d'informations sur les injections XQuery
Pour en savoir plus, vous pouvez consulter ce que dit l'OWASP à propos des injections XQuery. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à une démonstration gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité à devenir les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blog Secure Code Warrior.
Table des matières
Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。

Secure Code Warrior vous assiste dans la protection de votre code tout au long du cycle de vie du développement logiciel et dans la création d'une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou professionnel de la sécurité, nous vous aidons à réduire les risques liés au code non sécurisé.
Veuillez réserver une démonstration.[Télécharger]Ressources pour débuter
Sujets et contenu de la formation sur le code sécurisé
Notre contenu, leader dans le secteur, évolue constamment en fonction de l'environnement de développement logiciel en constante mutation, tout en tenant compte du rôle de nos clients. Il couvre tous les sujets, de l'IA à l'injection XQuery, et s'adresse à divers rôles, des architectes et ingénieurs aux chefs de produit et responsables de l'assurance qualité. Nous vous invitons à consulter le catalogue de contenu pour découvrir son contenu par sujet et par rôle.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources pour débuter
Cybermon est de retour : la mission IA consistant à vaincre le boss est désormais disponible à la demande.
Cybermon 2025 Beat the Boss est désormais disponible toute l'année sur SCW. Renforcez considérablement le développement sécurisé de l'IA en introduisant des défis de sécurité avancés en matière d'IA/LLM.
Explication de la loi sur la cyber-résilience : implications pour le développement de logiciels sécurisés dès la conception
Découvrez les exigences de la loi européenne sur la résilience cybernétique (CRA), à qui elle s'applique et comment les équipes d'ingénierie peuvent se préparer en matière de pratiques de sécurité dès la conception, de prévention des vulnérabilités et de développement des compétences des développeurs.
Facilitateur 1 : Critères de réussite prédéfinis et mesurables
Enabler 1 est le premier volet d'une série de dix intitulée « Enablers of Success » (Les catalyseurs de la réussite). Il présente comment associer le codage sécurisé à des résultats commerciaux tels que la réduction des risques et l'accélération des processus afin de faire évoluer le programme à long terme.




%20(1).avif)
.avif)
