
Les codeurs à la conquête de la sécurité : série Share & Learn - Injections LDAP
La grande majorité des systèmes informatiques utilisent le protocole LDAP (Lightweight Directory Access Protocol). Il est utilisé pour gérer les services d'informations d'annuaire distribués sur n'importe quel réseau IP (Internet Protocol). Donc, en gros, cela fonctionne comme un moyen de suivre les utilisateurs.
Le protocole LDAP est souvent utilisé comme source d'authentification par les applications pour vérifier si un utilisateur est autorisé à effectuer diverses actions, notamment en ce qui concerne son rôle défini au sein d'une organisation. Par exemple, seuls les professionnels de la comptabilité peuvent être en mesure d'utiliser le logiciel de comptabilité de l'entreprise. Les applications sont souvent programmées pour vérifier un tableau LDAP afin de s'assurer que les utilisateurs agissent dans les limites des autorisations établies.
Des problèmes peuvent survenir lorsque des utilisateurs malveillants peuvent manipuler une requête LDAP. Cela peut inciter le serveur récepteur à exécuter des requêtes non valides qui ne seraient normalement pas autorisées, ou même à accorder un accès administrateur ou de haut niveau à des utilisateurs non valides ou peu sécurisés sans mot de passe.
Les injections LDAP peuvent être délicates, mais dans cet épisode, nous allons apprendre :
- Comment ils fonctionnent
- Pourquoi sont-ils si dangereux
- Comment mettre en place des défenses pour les arrêter.
Comment les attaquants utilisent-ils l'injection LDAP ?
L'une des raisons pour lesquelles les attaques basées sur LDAP sont restées populaires pendant des années est le fait que presque tous les systèmes informatiques l'utilisent. LDAP est open source et fonctionne extrêmement bien, donc peu d'alternatives ont été créées.
À la base, le LDAP est une base de données qui permet de suivre les utilisateurs valides au sein d'un système informatique ou d'un réseau IP. Il peut permettre aux utilisateurs de partager des informations sur les systèmes, les réseaux, les serveurs, les applications et même les autres utilisateurs du même réseau.
Les informations sont stockées par LDAP dans l'équivalent d'une ligne ou d'un enregistrement de base de données appelé nom distinctif, souvent abrégé en DN. Chaque DN est unique. À titre d'exemple, voici à quoi peut ressembler un DN pour un utilisateur qui travaille au bureau comptable d'une grande entreprise à Chicago.
CN=James Smith, OU=Comptes d'entreprise, DC=Chicago, DO=Parkview
Pour garantir que chaque DN est unique, différents codes peuvent être ajoutés à l'enregistrement, tels que « + », «/», « = » et quelques autres. Des espaces peuvent également être insérés avant ou après un enregistrement pour garantir que même s'il y a deux James Smith travaillant dans les comptes d'entreprise au bureau de Chicago Parkview, ils auront chacun un DN individuel.
Les applications utilisent généralement le protocole LDAP pour permettre aux utilisateurs d'envoyer des requêtes sur des noms de domaine spécifiques, par exemple lorsqu'ils essaient de localiser le bon contact au sein du service de paie pour signaler une erreur sur leur chèque. Les injections LDAP peuvent se produire lorsqu'il n'y a pas de validation des paramètres fournis par l'utilisateur dans les requêtes de recherche. Dans ce cas, les pirates peuvent manipuler des recherches bénignes pour contourner les mécanismes d'authentification ou exécuter des requêtes arbitraires supplémentaires. Cela peut inciter le serveur à afficher des résultats qui ne devraient pas être autorisés, tels que les mots de passe des utilisateurs, ou même amener une application à autoriser l'accès à des zones de haute sécurité du réseau, avec ou sans mot de passe valide.
Pourquoi les injections LDAP sont-elles si dangereuses ?
Le plus grand danger lié aux injections LDAP est probablement la prolifération du protocole sur la majorité des réseaux informatiques IP du monde entier. Il constitue un tremplin facile pour les pirates informatiques qui cherchent à voler des informations ou à améliorer leurs privilèges sur un réseau. Aucun hacker expérimenté ne manquera de vérifier si les injections LDAP sont possibles. Les équipes de sécurité doivent donc s'assurer que ces failles sont toujours fermées.
Plus précisément, de nombreuses applications sont programmées pour aider les utilisateurs valides à trouver des informations limitées sur les utilisateurs et les groupes au sein d'une organisation, ou toute autre information contenue dans les DN. Par exemple, une application peut permettre à quelqu'un d'utiliser LDAP pour rechercher les coordonnées de comptables d'entreprise travaillant à Chicago, ce qui reviendrait à notre ami James Smith dans l'exemple ci-dessus. Selon les autorisations, il s'agit probablement d'une utilisation parfaitement valide d'une requête LDAP.
Le danger survient lorsqu'un utilisateur malveillant peut ajouter des paramètres non filtrés à la requête, en modifiant la nature de la recherche et en incitant le serveur à fournir des informations qui ne devraient normalement pas être fournies. Par exemple, en ajoutant une chaîne user=*, les attaquants pourraient obtenir des informations sur chaque utilisateur d'une organisation entière, ce qui ne devrait probablement jamais être autorisé.
Pour les applications qui utilisent le protocole LDAP pour l'authentification, le problème peut être encore plus grave. Les attaquants peuvent utiliser, par exemple, la chaîne (&) à la fin d'une requête LDAP pour faire croire au serveur que l'argument est vrai. Si une application utilise LDAP pour valider un mot de passe, le fait de forcer un argument True par le biais d'une injection LDAP peut permettre à un utilisateur non autorisé de se connecter au réseau en tant qu'administrateur, même sans mot de passe.
Faire de l'injection LDAP une solution à ne pas faire sur votre réseau
L'un des meilleurs moyens d'empêcher les injections LDAP est d'implémenter quelque chose comme LinqToad ou d'autres frameworks conçus spécifiquement pour y résister. Cela peut ne pas être possible si un réseau possède déjà des applications qui exploitent les requêtes LDAP. Cependant, même dans ce cas, c'est toujours une bonne idée pour chaque nouvelle application d'utiliser des cadres résistants aux injections à l'avenir.
Les applications existantes qui utilisent LDAP peuvent également être renforcées contre les injections grâce à la validation de la liste blanche et à la désinfection des entrées. Dans la mesure du possible, limitez la saisie par l'utilisateur à un ensemble limité de valeurs fiables. Sinon, les entrées utilisateur qui font partie d'une requête LDAP doivent d'abord être nettoyées, et n'oubliez pas d'inclure les paramètres GET et POST, les cookies et les en-têtes HTTP car ils peuvent également agir comme vecteurs d'attaque. N'écrivez pas vos propres fonctions pour nettoyer les entrées ; utilisez plutôt une bibliothèque tierce axée sur la sécurité ou des API de framework intégrées.
Au-delà des correctifs ciblés, les bonnes pratiques informatiques, telles que l'attribution aux applications de requêtes LDAP du minimum de privilèges requis sur un réseau, peuvent également être utiles. De cette façon, si le pire devait se produire et qu'une injection LDAP réussissait, les dégâts seraient atténués.
Plus d'informations sur les injections LDAP
Pour en savoir plus, vous pouvez consulter l'OWASP écrire sur Injections LDAP, ou le prévention des injections aide-mémoire. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce au démo gratuite de la plateforme Secure Code Warrior, qui forme les équipes de cybersécurité à devenir les meilleurs cyberguerriers. Pour en savoir plus sur les moyens de neutraliser cette vulnérabilité et consulter une galerie d'autres menaces présentées par des escrocs, rendez-vous sur Blog Secure Code Warrior.


Des problèmes peuvent survenir lorsque des utilisateurs malveillants peuvent manipuler une requête LDAP. Cela peut inciter le serveur récepteur à exécuter des requêtes non valides qui ne seraient normalement pas autorisées, ou même à accorder un accès administrateur ou de haut niveau à des utilisateurs non valides ou peu sécurisés sans mot de passe.
Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Secure Code Warrior Ihr Unternehmen dabei, den Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie für die Anwendungssicherheit verantwortlich sind, Entwickler, IT-Sicherheitsbeauftragter oder in einer anderen Funktion im Bereich Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenJaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.


La grande majorité des systèmes informatiques utilisent le protocole LDAP (Lightweight Directory Access Protocol). Il est utilisé pour gérer les services d'informations d'annuaire distribués sur n'importe quel réseau IP (Internet Protocol). Donc, en gros, cela fonctionne comme un moyen de suivre les utilisateurs.
Le protocole LDAP est souvent utilisé comme source d'authentification par les applications pour vérifier si un utilisateur est autorisé à effectuer diverses actions, notamment en ce qui concerne son rôle défini au sein d'une organisation. Par exemple, seuls les professionnels de la comptabilité peuvent être en mesure d'utiliser le logiciel de comptabilité de l'entreprise. Les applications sont souvent programmées pour vérifier un tableau LDAP afin de s'assurer que les utilisateurs agissent dans les limites des autorisations établies.
Des problèmes peuvent survenir lorsque des utilisateurs malveillants peuvent manipuler une requête LDAP. Cela peut inciter le serveur récepteur à exécuter des requêtes non valides qui ne seraient normalement pas autorisées, ou même à accorder un accès administrateur ou de haut niveau à des utilisateurs non valides ou peu sécurisés sans mot de passe.
Les injections LDAP peuvent être délicates, mais dans cet épisode, nous allons apprendre :
- Comment ils fonctionnent
- Pourquoi sont-ils si dangereux
- Comment mettre en place des défenses pour les arrêter.
Comment les attaquants utilisent-ils l'injection LDAP ?
L'une des raisons pour lesquelles les attaques basées sur LDAP sont restées populaires pendant des années est le fait que presque tous les systèmes informatiques l'utilisent. LDAP est open source et fonctionne extrêmement bien, donc peu d'alternatives ont été créées.
À la base, le LDAP est une base de données qui permet de suivre les utilisateurs valides au sein d'un système informatique ou d'un réseau IP. Il peut permettre aux utilisateurs de partager des informations sur les systèmes, les réseaux, les serveurs, les applications et même les autres utilisateurs du même réseau.
Les informations sont stockées par LDAP dans l'équivalent d'une ligne ou d'un enregistrement de base de données appelé nom distinctif, souvent abrégé en DN. Chaque DN est unique. À titre d'exemple, voici à quoi peut ressembler un DN pour un utilisateur qui travaille au bureau comptable d'une grande entreprise à Chicago.
CN=James Smith, OU=Comptes d'entreprise, DC=Chicago, DO=Parkview
Pour garantir que chaque DN est unique, différents codes peuvent être ajoutés à l'enregistrement, tels que « + », «/», « = » et quelques autres. Des espaces peuvent également être insérés avant ou après un enregistrement pour garantir que même s'il y a deux James Smith travaillant dans les comptes d'entreprise au bureau de Chicago Parkview, ils auront chacun un DN individuel.
Les applications utilisent généralement le protocole LDAP pour permettre aux utilisateurs d'envoyer des requêtes sur des noms de domaine spécifiques, par exemple lorsqu'ils essaient de localiser le bon contact au sein du service de paie pour signaler une erreur sur leur chèque. Les injections LDAP peuvent se produire lorsqu'il n'y a pas de validation des paramètres fournis par l'utilisateur dans les requêtes de recherche. Dans ce cas, les pirates peuvent manipuler des recherches bénignes pour contourner les mécanismes d'authentification ou exécuter des requêtes arbitraires supplémentaires. Cela peut inciter le serveur à afficher des résultats qui ne devraient pas être autorisés, tels que les mots de passe des utilisateurs, ou même amener une application à autoriser l'accès à des zones de haute sécurité du réseau, avec ou sans mot de passe valide.
Pourquoi les injections LDAP sont-elles si dangereuses ?
Le plus grand danger lié aux injections LDAP est probablement la prolifération du protocole sur la majorité des réseaux informatiques IP du monde entier. Il constitue un tremplin facile pour les pirates informatiques qui cherchent à voler des informations ou à améliorer leurs privilèges sur un réseau. Aucun hacker expérimenté ne manquera de vérifier si les injections LDAP sont possibles. Les équipes de sécurité doivent donc s'assurer que ces failles sont toujours fermées.
Plus précisément, de nombreuses applications sont programmées pour aider les utilisateurs valides à trouver des informations limitées sur les utilisateurs et les groupes au sein d'une organisation, ou toute autre information contenue dans les DN. Par exemple, une application peut permettre à quelqu'un d'utiliser LDAP pour rechercher les coordonnées de comptables d'entreprise travaillant à Chicago, ce qui reviendrait à notre ami James Smith dans l'exemple ci-dessus. Selon les autorisations, il s'agit probablement d'une utilisation parfaitement valide d'une requête LDAP.
Le danger survient lorsqu'un utilisateur malveillant peut ajouter des paramètres non filtrés à la requête, en modifiant la nature de la recherche et en incitant le serveur à fournir des informations qui ne devraient normalement pas être fournies. Par exemple, en ajoutant une chaîne user=*, les attaquants pourraient obtenir des informations sur chaque utilisateur d'une organisation entière, ce qui ne devrait probablement jamais être autorisé.
Pour les applications qui utilisent le protocole LDAP pour l'authentification, le problème peut être encore plus grave. Les attaquants peuvent utiliser, par exemple, la chaîne (&) à la fin d'une requête LDAP pour faire croire au serveur que l'argument est vrai. Si une application utilise LDAP pour valider un mot de passe, le fait de forcer un argument True par le biais d'une injection LDAP peut permettre à un utilisateur non autorisé de se connecter au réseau en tant qu'administrateur, même sans mot de passe.
Faire de l'injection LDAP une solution à ne pas faire sur votre réseau
L'un des meilleurs moyens d'empêcher les injections LDAP est d'implémenter quelque chose comme LinqToad ou d'autres frameworks conçus spécifiquement pour y résister. Cela peut ne pas être possible si un réseau possède déjà des applications qui exploitent les requêtes LDAP. Cependant, même dans ce cas, c'est toujours une bonne idée pour chaque nouvelle application d'utiliser des cadres résistants aux injections à l'avenir.
Les applications existantes qui utilisent LDAP peuvent également être renforcées contre les injections grâce à la validation de la liste blanche et à la désinfection des entrées. Dans la mesure du possible, limitez la saisie par l'utilisateur à un ensemble limité de valeurs fiables. Sinon, les entrées utilisateur qui font partie d'une requête LDAP doivent d'abord être nettoyées, et n'oubliez pas d'inclure les paramètres GET et POST, les cookies et les en-têtes HTTP car ils peuvent également agir comme vecteurs d'attaque. N'écrivez pas vos propres fonctions pour nettoyer les entrées ; utilisez plutôt une bibliothèque tierce axée sur la sécurité ou des API de framework intégrées.
Au-delà des correctifs ciblés, les bonnes pratiques informatiques, telles que l'attribution aux applications de requêtes LDAP du minimum de privilèges requis sur un réseau, peuvent également être utiles. De cette façon, si le pire devait se produire et qu'une injection LDAP réussissait, les dégâts seraient atténués.
Plus d'informations sur les injections LDAP
Pour en savoir plus, vous pouvez consulter l'OWASP écrire sur Injections LDAP, ou le prévention des injections aide-mémoire. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce au démo gratuite de la plateforme Secure Code Warrior, qui forme les équipes de cybersécurité à devenir les meilleurs cyberguerriers. Pour en savoir plus sur les moyens de neutraliser cette vulnérabilité et consulter une galerie d'autres menaces présentées par des escrocs, rendez-vous sur Blog Secure Code Warrior.

La grande majorité des systèmes informatiques utilisent le protocole LDAP (Lightweight Directory Access Protocol). Il est utilisé pour gérer les services d'informations d'annuaire distribués sur n'importe quel réseau IP (Internet Protocol). Donc, en gros, cela fonctionne comme un moyen de suivre les utilisateurs.
Le protocole LDAP est souvent utilisé comme source d'authentification par les applications pour vérifier si un utilisateur est autorisé à effectuer diverses actions, notamment en ce qui concerne son rôle défini au sein d'une organisation. Par exemple, seuls les professionnels de la comptabilité peuvent être en mesure d'utiliser le logiciel de comptabilité de l'entreprise. Les applications sont souvent programmées pour vérifier un tableau LDAP afin de s'assurer que les utilisateurs agissent dans les limites des autorisations établies.
Des problèmes peuvent survenir lorsque des utilisateurs malveillants peuvent manipuler une requête LDAP. Cela peut inciter le serveur récepteur à exécuter des requêtes non valides qui ne seraient normalement pas autorisées, ou même à accorder un accès administrateur ou de haut niveau à des utilisateurs non valides ou peu sécurisés sans mot de passe.
Les injections LDAP peuvent être délicates, mais dans cet épisode, nous allons apprendre :
- Comment ils fonctionnent
- Pourquoi sont-ils si dangereux
- Comment mettre en place des défenses pour les arrêter.
Comment les attaquants utilisent-ils l'injection LDAP ?
L'une des raisons pour lesquelles les attaques basées sur LDAP sont restées populaires pendant des années est le fait que presque tous les systèmes informatiques l'utilisent. LDAP est open source et fonctionne extrêmement bien, donc peu d'alternatives ont été créées.
À la base, le LDAP est une base de données qui permet de suivre les utilisateurs valides au sein d'un système informatique ou d'un réseau IP. Il peut permettre aux utilisateurs de partager des informations sur les systèmes, les réseaux, les serveurs, les applications et même les autres utilisateurs du même réseau.
Les informations sont stockées par LDAP dans l'équivalent d'une ligne ou d'un enregistrement de base de données appelé nom distinctif, souvent abrégé en DN. Chaque DN est unique. À titre d'exemple, voici à quoi peut ressembler un DN pour un utilisateur qui travaille au bureau comptable d'une grande entreprise à Chicago.
CN=James Smith, OU=Comptes d'entreprise, DC=Chicago, DO=Parkview
Pour garantir que chaque DN est unique, différents codes peuvent être ajoutés à l'enregistrement, tels que « + », «/», « = » et quelques autres. Des espaces peuvent également être insérés avant ou après un enregistrement pour garantir que même s'il y a deux James Smith travaillant dans les comptes d'entreprise au bureau de Chicago Parkview, ils auront chacun un DN individuel.
Les applications utilisent généralement le protocole LDAP pour permettre aux utilisateurs d'envoyer des requêtes sur des noms de domaine spécifiques, par exemple lorsqu'ils essaient de localiser le bon contact au sein du service de paie pour signaler une erreur sur leur chèque. Les injections LDAP peuvent se produire lorsqu'il n'y a pas de validation des paramètres fournis par l'utilisateur dans les requêtes de recherche. Dans ce cas, les pirates peuvent manipuler des recherches bénignes pour contourner les mécanismes d'authentification ou exécuter des requêtes arbitraires supplémentaires. Cela peut inciter le serveur à afficher des résultats qui ne devraient pas être autorisés, tels que les mots de passe des utilisateurs, ou même amener une application à autoriser l'accès à des zones de haute sécurité du réseau, avec ou sans mot de passe valide.
Pourquoi les injections LDAP sont-elles si dangereuses ?
Le plus grand danger lié aux injections LDAP est probablement la prolifération du protocole sur la majorité des réseaux informatiques IP du monde entier. Il constitue un tremplin facile pour les pirates informatiques qui cherchent à voler des informations ou à améliorer leurs privilèges sur un réseau. Aucun hacker expérimenté ne manquera de vérifier si les injections LDAP sont possibles. Les équipes de sécurité doivent donc s'assurer que ces failles sont toujours fermées.
Plus précisément, de nombreuses applications sont programmées pour aider les utilisateurs valides à trouver des informations limitées sur les utilisateurs et les groupes au sein d'une organisation, ou toute autre information contenue dans les DN. Par exemple, une application peut permettre à quelqu'un d'utiliser LDAP pour rechercher les coordonnées de comptables d'entreprise travaillant à Chicago, ce qui reviendrait à notre ami James Smith dans l'exemple ci-dessus. Selon les autorisations, il s'agit probablement d'une utilisation parfaitement valide d'une requête LDAP.
Le danger survient lorsqu'un utilisateur malveillant peut ajouter des paramètres non filtrés à la requête, en modifiant la nature de la recherche et en incitant le serveur à fournir des informations qui ne devraient normalement pas être fournies. Par exemple, en ajoutant une chaîne user=*, les attaquants pourraient obtenir des informations sur chaque utilisateur d'une organisation entière, ce qui ne devrait probablement jamais être autorisé.
Pour les applications qui utilisent le protocole LDAP pour l'authentification, le problème peut être encore plus grave. Les attaquants peuvent utiliser, par exemple, la chaîne (&) à la fin d'une requête LDAP pour faire croire au serveur que l'argument est vrai. Si une application utilise LDAP pour valider un mot de passe, le fait de forcer un argument True par le biais d'une injection LDAP peut permettre à un utilisateur non autorisé de se connecter au réseau en tant qu'administrateur, même sans mot de passe.
Faire de l'injection LDAP une solution à ne pas faire sur votre réseau
L'un des meilleurs moyens d'empêcher les injections LDAP est d'implémenter quelque chose comme LinqToad ou d'autres frameworks conçus spécifiquement pour y résister. Cela peut ne pas être possible si un réseau possède déjà des applications qui exploitent les requêtes LDAP. Cependant, même dans ce cas, c'est toujours une bonne idée pour chaque nouvelle application d'utiliser des cadres résistants aux injections à l'avenir.
Les applications existantes qui utilisent LDAP peuvent également être renforcées contre les injections grâce à la validation de la liste blanche et à la désinfection des entrées. Dans la mesure du possible, limitez la saisie par l'utilisateur à un ensemble limité de valeurs fiables. Sinon, les entrées utilisateur qui font partie d'une requête LDAP doivent d'abord être nettoyées, et n'oubliez pas d'inclure les paramètres GET et POST, les cookies et les en-têtes HTTP car ils peuvent également agir comme vecteurs d'attaque. N'écrivez pas vos propres fonctions pour nettoyer les entrées ; utilisez plutôt une bibliothèque tierce axée sur la sécurité ou des API de framework intégrées.
Au-delà des correctifs ciblés, les bonnes pratiques informatiques, telles que l'attribution aux applications de requêtes LDAP du minimum de privilèges requis sur un réseau, peuvent également être utiles. De cette façon, si le pire devait se produire et qu'une injection LDAP réussissait, les dégâts seraient atténués.
Plus d'informations sur les injections LDAP
Pour en savoir plus, vous pouvez consulter l'OWASP écrire sur Injections LDAP, ou le prévention des injections aide-mémoire. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce au démo gratuite de la plateforme Secure Code Warrior, qui forme les équipes de cybersécurité à devenir les meilleurs cyberguerriers. Pour en savoir plus sur les moyens de neutraliser cette vulnérabilité et consulter une galerie d'autres menaces présentées par des escrocs, rendez-vous sur Blog Secure Code Warrior.

Klicken Sie auf den untenstehenden Link und laden Sie das PDF dieser Ressource herunter.
Secure Code Warrior Ihr Unternehmen dabei, den Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie für die Anwendungssicherheit verantwortlich sind, Entwickler, IT-Sicherheitsbeauftragter oder in einer anderen Funktion im Bereich Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht anzeigenDemo buchenJaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.
La grande majorité des systèmes informatiques utilisent le protocole LDAP (Lightweight Directory Access Protocol). Il est utilisé pour gérer les services d'informations d'annuaire distribués sur n'importe quel réseau IP (Internet Protocol). Donc, en gros, cela fonctionne comme un moyen de suivre les utilisateurs.
Le protocole LDAP est souvent utilisé comme source d'authentification par les applications pour vérifier si un utilisateur est autorisé à effectuer diverses actions, notamment en ce qui concerne son rôle défini au sein d'une organisation. Par exemple, seuls les professionnels de la comptabilité peuvent être en mesure d'utiliser le logiciel de comptabilité de l'entreprise. Les applications sont souvent programmées pour vérifier un tableau LDAP afin de s'assurer que les utilisateurs agissent dans les limites des autorisations établies.
Des problèmes peuvent survenir lorsque des utilisateurs malveillants peuvent manipuler une requête LDAP. Cela peut inciter le serveur récepteur à exécuter des requêtes non valides qui ne seraient normalement pas autorisées, ou même à accorder un accès administrateur ou de haut niveau à des utilisateurs non valides ou peu sécurisés sans mot de passe.
Les injections LDAP peuvent être délicates, mais dans cet épisode, nous allons apprendre :
- Comment ils fonctionnent
- Pourquoi sont-ils si dangereux
- Comment mettre en place des défenses pour les arrêter.
Comment les attaquants utilisent-ils l'injection LDAP ?
L'une des raisons pour lesquelles les attaques basées sur LDAP sont restées populaires pendant des années est le fait que presque tous les systèmes informatiques l'utilisent. LDAP est open source et fonctionne extrêmement bien, donc peu d'alternatives ont été créées.
À la base, le LDAP est une base de données qui permet de suivre les utilisateurs valides au sein d'un système informatique ou d'un réseau IP. Il peut permettre aux utilisateurs de partager des informations sur les systèmes, les réseaux, les serveurs, les applications et même les autres utilisateurs du même réseau.
Les informations sont stockées par LDAP dans l'équivalent d'une ligne ou d'un enregistrement de base de données appelé nom distinctif, souvent abrégé en DN. Chaque DN est unique. À titre d'exemple, voici à quoi peut ressembler un DN pour un utilisateur qui travaille au bureau comptable d'une grande entreprise à Chicago.
CN=James Smith, OU=Comptes d'entreprise, DC=Chicago, DO=Parkview
Pour garantir que chaque DN est unique, différents codes peuvent être ajoutés à l'enregistrement, tels que « + », «/», « = » et quelques autres. Des espaces peuvent également être insérés avant ou après un enregistrement pour garantir que même s'il y a deux James Smith travaillant dans les comptes d'entreprise au bureau de Chicago Parkview, ils auront chacun un DN individuel.
Les applications utilisent généralement le protocole LDAP pour permettre aux utilisateurs d'envoyer des requêtes sur des noms de domaine spécifiques, par exemple lorsqu'ils essaient de localiser le bon contact au sein du service de paie pour signaler une erreur sur leur chèque. Les injections LDAP peuvent se produire lorsqu'il n'y a pas de validation des paramètres fournis par l'utilisateur dans les requêtes de recherche. Dans ce cas, les pirates peuvent manipuler des recherches bénignes pour contourner les mécanismes d'authentification ou exécuter des requêtes arbitraires supplémentaires. Cela peut inciter le serveur à afficher des résultats qui ne devraient pas être autorisés, tels que les mots de passe des utilisateurs, ou même amener une application à autoriser l'accès à des zones de haute sécurité du réseau, avec ou sans mot de passe valide.
Pourquoi les injections LDAP sont-elles si dangereuses ?
Le plus grand danger lié aux injections LDAP est probablement la prolifération du protocole sur la majorité des réseaux informatiques IP du monde entier. Il constitue un tremplin facile pour les pirates informatiques qui cherchent à voler des informations ou à améliorer leurs privilèges sur un réseau. Aucun hacker expérimenté ne manquera de vérifier si les injections LDAP sont possibles. Les équipes de sécurité doivent donc s'assurer que ces failles sont toujours fermées.
Plus précisément, de nombreuses applications sont programmées pour aider les utilisateurs valides à trouver des informations limitées sur les utilisateurs et les groupes au sein d'une organisation, ou toute autre information contenue dans les DN. Par exemple, une application peut permettre à quelqu'un d'utiliser LDAP pour rechercher les coordonnées de comptables d'entreprise travaillant à Chicago, ce qui reviendrait à notre ami James Smith dans l'exemple ci-dessus. Selon les autorisations, il s'agit probablement d'une utilisation parfaitement valide d'une requête LDAP.
Le danger survient lorsqu'un utilisateur malveillant peut ajouter des paramètres non filtrés à la requête, en modifiant la nature de la recherche et en incitant le serveur à fournir des informations qui ne devraient normalement pas être fournies. Par exemple, en ajoutant une chaîne user=*, les attaquants pourraient obtenir des informations sur chaque utilisateur d'une organisation entière, ce qui ne devrait probablement jamais être autorisé.
Pour les applications qui utilisent le protocole LDAP pour l'authentification, le problème peut être encore plus grave. Les attaquants peuvent utiliser, par exemple, la chaîne (&) à la fin d'une requête LDAP pour faire croire au serveur que l'argument est vrai. Si une application utilise LDAP pour valider un mot de passe, le fait de forcer un argument True par le biais d'une injection LDAP peut permettre à un utilisateur non autorisé de se connecter au réseau en tant qu'administrateur, même sans mot de passe.
Faire de l'injection LDAP une solution à ne pas faire sur votre réseau
L'un des meilleurs moyens d'empêcher les injections LDAP est d'implémenter quelque chose comme LinqToad ou d'autres frameworks conçus spécifiquement pour y résister. Cela peut ne pas être possible si un réseau possède déjà des applications qui exploitent les requêtes LDAP. Cependant, même dans ce cas, c'est toujours une bonne idée pour chaque nouvelle application d'utiliser des cadres résistants aux injections à l'avenir.
Les applications existantes qui utilisent LDAP peuvent également être renforcées contre les injections grâce à la validation de la liste blanche et à la désinfection des entrées. Dans la mesure du possible, limitez la saisie par l'utilisateur à un ensemble limité de valeurs fiables. Sinon, les entrées utilisateur qui font partie d'une requête LDAP doivent d'abord être nettoyées, et n'oubliez pas d'inclure les paramètres GET et POST, les cookies et les en-têtes HTTP car ils peuvent également agir comme vecteurs d'attaque. N'écrivez pas vos propres fonctions pour nettoyer les entrées ; utilisez plutôt une bibliothèque tierce axée sur la sécurité ou des API de framework intégrées.
Au-delà des correctifs ciblés, les bonnes pratiques informatiques, telles que l'attribution aux applications de requêtes LDAP du minimum de privilèges requis sur un réseau, peuvent également être utiles. De cette façon, si le pire devait se produire et qu'une injection LDAP réussissait, les dégâts seraient atténués.
Plus d'informations sur les injections LDAP
Pour en savoir plus, vous pouvez consulter l'OWASP écrire sur Injections LDAP, ou le prévention des injections aide-mémoire. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce au démo gratuite de la plateforme Secure Code Warrior, qui forme les équipes de cybersécurité à devenir les meilleurs cyberguerriers. Pour en savoir plus sur les moyens de neutraliser cette vulnérabilité et consulter une galerie d'autres menaces présentées par des escrocs, rendez-vous sur Blog Secure Code Warrior.
Inhaltsverzeichnis
Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Secure Code Warrior Ihr Unternehmen dabei, den Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie für die Anwendungssicherheit verantwortlich sind, Entwickler, IT-Sicherheitsbeauftragter oder in einer anderen Funktion im Bereich Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen, die Ihnen den Einstieg erleichtern
Themen und Inhalte der Schulung zum sicheren Code
Unsere hochmodernen Inhalte werden ständig weiterentwickelt, um mit den ständigen Veränderungen in der Softwareentwicklungslandschaft Schritt zu halten und gleichzeitig Ihre Rolle zu berücksichtigen. Die Themen reichen von KI bis hin zu XQuery-Injection und sind für eine Vielzahl von Positionen konzipiert, von Architekten über Ingenieure bis hin zu Produktmanagern und Qualitätssicherungsmitarbeitern. Verschaffen Sie sich einen Überblick über die Inhalte unseres Katalogs, sortiert nach Themen und Rollen.
Die Kamer van Koophandel setzt Maßstäbe für entwicklergesteuerte Sicherheit in großem Maßstab
Die Kamer van Koophandel berichtet, wie sie sicheres Codieren durch rollenbasierte Zertifizierungen, Trust Score-Benchmarking und eine Kultur der gemeinsamen Verantwortung für Sicherheit in die tägliche Entwicklungsarbeit integriert hat.
Bedrohungsmodellierung mit KI: So wird jeder Entwickler zum Bedrohungsmodellierer
Sie werden besser gerüstet sein, um Entwicklern dabei zu helfen, Ideen und Techniken zur Bedrohungsmodellierung mit den KI-Tools zu kombinieren, die sie bereits verwenden, um die Sicherheit zu erhöhen, die Zusammenarbeit zu verbessern und von Anfang an widerstandsfähigere Software zu entwickeln.
Ressourcen, die Ihnen den Einstieg erleichtern
Cybermon ist zurück: Die missions „Beat the Boss“ sind jetzt auf Abruf verfügbar.
Cybermon 2025 Beat the Boss ist jetzt das ganze Jahr über in SCW verfügbar. Setzen Sie fortschrittliche Sicherheitsherausforderungen im Zusammenhang mit KI und LLM ein, um die sichere Entwicklung von KI in großem Maßstab zu stärken.
Erläuterung des Gesetzes zur Cyberresilienz: Was bedeutet das für die Entwicklung sicherer Software bereits ab der Konzeption?
Entdecken Sie, was das europäische Gesetz zur Cyberresilienz (CRA) verlangt, für wen es gilt und wie sich Ingenieurteams durch Sicherheitsmaßnahmen bereits in der Entwurfsphase, durch die Vermeidung von Schwachstellen und durch die Stärkung der Fähigkeiten der Entwickler darauf vorbereiten können.
Moderator 1: Definierte und messbare Erfolgskriterien
Enabler 1 gibt den Startschuss für unsere 10-teilige Serie mit dem Titel „Enablers of Success“ und zeigt, wie sichere Codierung mit geschäftlichen Ergebnissen wie Risikominderung und Schnelligkeit kombiniert werden kann, um die langfristige Reife von Programmen sicherzustellen.




%20(1).avif)
.avif)
