Injection de filtres LDAP malveillants pour bypasser l'authentification ou exfiltrer des données.
L'injection LDAP est une attaque où un attaquant insère des caractères spéciaux dans une requête LDAP construite dynamiquement avec des entrées utilisateur non validées. L'attaque cible typiquement les fonctions d'authentification ou de recherche annuaire branchées sur Active Directory, OpenLDAP, ou tout autre serveur LDAP.
Exemple classique : un formulaire de login construit le filtre `(&(uid=USER)(userPassword=PASS))`. En envoyant comme username `admin)(&)`, le filtre devient `(&(uid=admin)(&))(userPassword=PASS))` — toujours vrai, contournant l'authentification. D'autres payloads permettent d'énumérer les utilisateurs (wildcards `*`), exfiltrer des attributs sensibles, ou bypasser les ACL LDAP.
Les caractères dangereux à filtrer : `( ) \ * NUL /` et leurs équivalents UTF-8. Mitigations : (1) utiliser des bibliothèques avec parameterized queries (LDAP escape APIs : LdapEncoder en Java, ldap3 en Python avec escape_filter_chars) ; (2) valider strictement les entrées (whitelist alphanumeric) ; (3) appliquer le principe de moindre privilège au compte de service LDAP utilisé pour les binds initiaux ; (4) utiliser LDAPS (LDAP over TLS) et préférer Kerberos quand possible. L'injection LDAP est référencée dans OWASP Top 10 (A03:2021 — Injection).
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →