Weet u wat LDAP-injectie is? Het is een code-injectietechniek die zich richt op applicaties die injectiequery's samenstellen met behulp van ongecontroleerde gebruikersinvoer. LDAP (Lightweight Directory Access Protocol) wordt vaak gebruikt voor directory-opzoekingen, zoals het authenticeren van gebruikers of het ophalen van organisatiegegevens. Wanneer aanvallers speciaal gemanipuleerde invoer met LDAP-metatekens aanleveren, kunnen ze de logica van directory-query's wijzigen om gegevens op onjuiste wijze te openen of te wijzigen. Een kwetsbaarheid voor LDAP-injectie ontstaat in feite wanneer filters dynamisch worden samengesteld op basis van door de gebruiker aangestuurde waarden zonder invoercontrole of -validatie.
Hoe het werkt: mechanica van een LDAP-injectieaanval #
Een LDAP-injectieaanval vindt plaats wanneer door de gebruiker verstrekte gegevens op onveilige wijze in een LDAP-query worden opgenomen. Denk aan: login filter:
(&(cn=” + gebruikersnaam + “)(userPassword=” + wachtwoord + “))Als een aanvaller * of terminatorreeksen invoert in plaats van een geldige gebruikersnaam, vervalt de filterlogica in een bredere evaluatie of altijd-waar-voorwaarde, waardoor authenticatie effectief wordt omzeild. Dit is precies hoe deze injectie werkt: het injecteren van LDAP-logica om het beoogde gedrag te ondermijnen.
Kwetsbaarheid voor LDAP-injectie ontstaat doordat query's worden samengesteld op basis van niet-vertrouwde invoer die speciale tekens bevat, zoals haakjes, aanhalingstekens en jokers, die de semantiek van de query veranderen.
Bovendien doen ze zich voor wanneer applicatiecode op onveilige wijze gebruikersgegevens kopieert in een LDAP-query en er niet in slaagt metatekens te neutraliseren, waardoor aanvallers de querylogica kunnen onderbreken of manipuleren, toegang kunnen krijgen tot ongeautoriseerde gegevens of de uitvoeringsstroom kunnen wijzigen.
Waarom is een LDAP-injectieaanval belangrijk? #
Een LDAP-injectieaanval kan authenticatie verstoren, gevoelige informatie lekken of zelfs de directorystructuur wijzigen. Imperva benadrukt dat kwaadwillenden authenticatieprocessen kunnen compromitteren, gebruikersnamen/wachtwoorden kunnen bekijken of wijzigen, malware kunnen installeren en privileges kunnen verhogen, wat kan leiden tot datalekken, reputatieschade en financiële verliezen.
LDAP-injectiekwetsbaarheden kunnen zich verspreiden via onderling verbonden services, vooral in enterprise omgevingen die LDAP gebruiken voor single sign-on (SSO), autorisatie of coördinatie van gebruikersidentiteit en -machtigingen.
Tekenen van een bestaande LDAP-injectiekwetsbaarheid #
In cyberbeveiliging verwijst governance naar de manier waarop leiderschap, beleid en belangrijke rode vlaggen:
- Code voegt gebruikersinvoer rechtstreeks toe aan LDAP-filters.
- Gebrek aan invoervalidatie of escape.
- Gebruik van speciale tekens zoals () * en | = in invoer zonder beperking.
- Onverwachte queryresultaten, bijvoorbeeld dat de authenticatie slaagt ongeacht de inloggegevens, of dat grote gebruikerslijsten worden geretourneerd met minimale invoer.
Verkeerd opgestelde query's op basis van gebruikersinvoer kunnen leiden tot ongeautoriseerde gegevensopvraging of omzeiling van logica.
Hoe kunnen we deze effecten verzachten? #
Het beperken van de kwetsbaarheid voor LDAP-injecties omvat het volgende:
a. Invoervalidatie / Toestaanlijst
Accepteer alleen bekende veilige tekens of patronen. Wijs controletekens zoals *, (, ), &, |, = af of verwijder ze. PortsWigger raadt aan om invoer met LDAP-metatekens te blokkeren of strikte alfanumerieke patronen af te dwingen.
b. Ontsnappen / Coderen
Gebruik LDAP-specifieke escape-functies: Distinguished Name-escaping voor DN-contexten en zoekfilter-escaping voor predicaten. OWASP biedt een gedetailleerde Preventie-spiekbriefje met op maat gemaakte begeleiding
c. Geparametriseerde query's / Veilige API's
Vermijd het bouwen van filters via string-concatenatie. Gebruik LDAP-bibliotheken die parameterbinding of filterconstructie-API's ondersteunen (bijvoorbeeld Filter.createANDFilter(…) van UnboundID SDK) om ervoor te zorgen dat gebruikersinvoer als data wordt behandeld, niet als syntaxis.
D. Principe van de minste privileges (PoLP)
Bind LDAP met minimale toegangsrechten. Zelfs als er een injectie plaatsvindt, beperkt dit de acties die een aanvaller kan uitvoeren. Underscore PoLP gecombineerd met nulvertrouwen en MFA om de impact te beperken.
e. Veilige frameworks/bibliotheken
Gebruik frameworks die automatisch invoer ontwijken of opschonen en het bouwen van onbewerkte query's ontmoedigen.
f. Codeanalysehulpmiddelen
Gebruik in .NET de CA3005-analyse om te detecteren of HTTP-invoer die u niet vertrouwt, LDAP-instructies bereikt. Dit kunt u oplossen door invoer te desinfecteren, te escapen of op een lijst met toegestane invoer toe te staan.
g. Testen (statisch, dynamisch, pentesten)
Integreer zowel Static AppSec (SAST) en Dynamisch (DAST) scannen om kwetsbaarheid voor LDAP-injectie te detecteren, zowel in rust als tijdens uitvoering.
h. Logging, monitoring, waarschuwingen
Detecteer afwijkende filterpatronen, mislukte pogingen of onverwachte querystructuren. Semperis raadt aan Active Directory te controleren op onregelmatige LDAP-query's of manipulatie van metagegevens.
Woordenlijst Samenvattingstabel #
| Termijn | Betekenis |
|---|---|
| LDAP-injectie | Een code-injectietechniek die gebruikmaakt van niet-gezuiverde gebruikersinvoer in LDAP-filters. |
| Wat is LDAP-injectie? | Een kwetsbaarheid die voortkomt uit het bouwen van LDAP-query's met niet-vertrouwde invoer. |
| LDAP-injectieaanval | Het daadwerkelijke gebruik waarbij invoer de LDAP-querylogica wijzigt of toegang verkrijgt. |
| LDAP-injectiekwetsbaarheid | Het gebrek in de code maakt LDAP-injectieaanvallen mogelijk. |
Waarom is dit belangrijk in DevSecOps? #
Bij DevSecOps-teamsHet voorkomen van kwetsbaarheid voor LDAP-injectie is essentieel voor het beveiligen van authenticatiestromen en directory-ondersteunde toegangscontrole. Continue integratie pipelines moeten statische codecontroles omvatten voor onveilige queryconstructie en dynamische tests voor filtermanipulatie. Beveiligingsmanagers moeten het gebruik van escape-bibliotheken, geparametriseerd API-gebruik en naleving van minimale privileges en invoervalidatiebeleid afdwingen.
Versterking van DevSecOps Pipelinemet Xygeni #
Nu u weet wat LDAP-injectie is, weet u dat het beveiligen van moderne applicaties ertegen meer vereist dan alleen oplossingen op codeniveau. DevSecOps-teams moeten beveiliging over de hele linie handhaven. levenscyclus van softwareontwikkeling, van code tot build tot implementatie.
Tools zoals Xygeni teams in staat stellen hun injectierisico's vroegtijdig te detecteren door statische analyse te integreren, IaC scannen en veilige beleidshandhaving rechtstreeks in CI/CD Workflows. Door continu te controleren op onveilige queryconstructie, afhankelijkheidsrisico's of verkeerde configuraties, helpt Xygeni LDAP-injectieaanvallen te voorkomen voordat ze de productie bereiken.
Door platformen zoals Xygeni te integreren, wordt beveiliging afgestemd op de ontwikkelsnelheid. Zo krijgt u inzicht in realtime, geautomatiseerde controles en begeleiding bij herstelwerkzaamheden die zijn afgestemd op de 'secure-by-design'-engineering.
