Inleiding tot LDAP-injectie

De webapplicatie zou tegenwoordig veel meer moeten zijn dan alleen het platform dat de vragen van de gebruiker verwerkt. In de eerdere periode draaide de webapplicatie helemaal om de plek waar gebruikers hun werk kunnen doen en uitloggen, en tegen de tijd dat ze uitloggen, stopt de applicatie met werken. Maar tegenwoordig moet de webapplicatie werken, zelfs als de gebruiker deze niet gebruikt, wat kan worden geïmplementeerd met behulp van cookies. Facebook heeft onlangs bevestigd dat ze cookies gebruiken om de activiteiten van de gebruikers te controleren om ervoor te zorgen dat hun systeem niet wordt misbruikt. Dus op het moment dat de online applicaties krachtiger moeten zijn, staat de beveiliging van de applicatie bovenaan de lijst van eisen. Hier zullen we ons concentreren op één type cyberaanvalmodus die moet worden aangepakt om de veiligheid van het systeem te waarborgen.

Wat is LDAP-injectie?

  • LDAP staat voor Lightweight Directory Access Protocol. Het kan worden gedefinieerd als een protocol dat leveranciersneutraal is en werkt op de laag via TCP / IP-stack. Het wordt gebruikt om het mechanisme voor autoriteitscontrole en authenticatie in de webapplicatie in te voeren om de veiligheid ervan te waarborgen en wordt zeer vaak gebruikt tijdens de ontwikkeling van webapplicaties. LDAP wordt heel vaak gebruikt in de webtoepassingen die via internet of intranet worden gebruikt. Het is erg belangrijk voor de webapplicatie om LDAP te gebruiken, omdat het een veel voorkomende en belangrijke factor is die de veilige ontwikkeling van de webapplicatie mogelijk maakt.
  • LDAP kan ook worden gedefinieerd als de set normen die worden gebruikt om de beveiligingscontroles uit te voeren om erachter te komen of de gebruiker alle rechten heeft om toegang te krijgen tot het bestaande systeem. Er zijn verschillende manieren om de controles uit te voeren, maar uiteindelijk is het motief van alle controles om de veiligheid van de webapplicatie te waarborgen. Het verbiedt de ongeautoriseerde toegang van gebruikers die niet over de juiste rechten beschikken. Op basis van de rechten die de gebruiker heeft voor de specifieke webtoepassing, zorgt het ervoor dat de gebruiker alleen toegang heeft tot die dingen waar hij recht op heeft. Hoewel het wordt gebruikt om voor de beveiliging van de webtoepassing te zorgen, kan het ook door hackers worden misleid om het sap uit de toepassing te halen.

LDAP-injectie uitvoeren met voorbeeld

  • De webtoepassing moet de invoer van de gebruiker overnemen om deze verder te verwerken. De aanvaller kan hier gebruik van maken als de door de gebruiker ingevoerde waarde niet goed is opgeschoond en rechtstreeks naar de database gaat voor uitvoering. Hier zullen we zien hoe de LDAP-injectie kan worden gestart op elke webtoepassing die vatbaar is voor deze aanval.

IEnter your name

  • De hierboven genoemde query zal worden omgezet in LDAP-vriendelijke opdracht zodat de applicatie het gemakkelijk maakt om de query goed uit te voeren.

String ldapQueryToSearch= "(sq=" + $userName + ")";
System.out.println(ldapQueryToSearch);

  • Als in het bovenstaande geval de door de gebruiker opgegeven waarde niet is opgeschoond, kan dit ertoe leiden dat de naam van alle bestaande gebruikers wordt opgehaald door "*" in het invoervak ​​te plaatsen. Een asterisk geeft alle beschikbare opties aan, dus wanneer de database de asterisk in plaats van een bepaalde gebruikersnaam verwerkt, krijgt deze alle objecten die zijn opgeslagen in de LDAP-database. De daadwerkelijke query die in de database wordt uitgevoerd, is

findingLogin="(&(usrid="+username+")(userPwd=(MD5)"+base64(pack("H*", md5(pass)))+"))";

  • Wanneer de gegevens niet worden opgeschoond en de database de asteriskwaarde voor het proces accepteert, ziet de code er als volgt uit.

findingLogin="(&(usrid=*)(usrid=*))(|(usrid=*)(userPwd=(MD5)Xkjr1Hj5LydgyfeuILpxM==))";

Zodra de bovengenoemde kwetsbare code in de LDAP-database terechtkomt, doorloopt deze alle objecten die zijn opgeslagen in de LDAP-database en leidt dit tot schade aan de webtoepassing. De uitkomst van LDAP-injectie wordt vervolgens door de hacker gebruikt om het systeem te misbruiken en de beveiligingslek te veroorzaken.

Hoe kunt u LDAP-injectieaanvallen beschermen?

  • Als er een kwetsbaarheid in de toepassing is, moet deze ook worden hersteld. Er is nauwelijks een kwetsbaarheid die niet kan worden opgelost of opgelost om het systeem te beschermen. Op dezelfde manier zijn er verschillende manieren om de webapplicatie te beschermen tegen LDAP-injectie.
  • De allereerste en meest essentiële manier is om de invoer te saneren voordat deze verder wordt verwerkt. De invoer die door de gebruiker wordt ingediend, moet worden gevalideerd als deze overeenkomt met de eis dat suites voldoen aan wat de toepassing via dat tekstveld verwacht. Als de gebruiker bijvoorbeeld speciale tekens probeert in te dienen in het tekstveld dat om de naam vraagt, moet de gebruiker worden gewaarschuwd dat hij geen speciaal teken in dat veld kan invullen. Dat is de validatie aan de clientzijde. Nu is de server-side validatie ook vereist om ervoor te zorgen dat de verstrekte gegevens echt zijn.
  • De volgende is om LDAP te configureren met het oog op veiligheid. De LDAP-configuratie moet worden uitgevoerd op een manier die ongeautoriseerde gebruikers beperkt om kwaadaardige wijzigingen in het systeem aan te brengen. De volgende is ook dat de uitkomst van de LDAP-query beperkt moet zijn en geen gegevens mag openbaren die kunnen leiden tot inbreuken op de beveiliging. Als de gegevens niet voldoende zijn om het systeem te beschadigen, kan de aanvaller de webtoepassing op geen enkele manier beïnvloeden, zelfs niet als ze de LDAP-injectie-aanval konden starten.

Conclusie

Het Lightweight Directory Access Protocol biedt de weg naar de toepassing om ervoor te zorgen dat de gebruiker die probeert toegang te krijgen tot het systeem, naar behoren is geverifieerd en geautoriseerd om het systeem te gebruiken. Het is heel belangrijk om LDAP te overwegen en tegelijkertijd rekening te houden met alle beveiligingsproblemen. Het systeem moet voldoende en sterk zijn om geen enkele hacker een LDAP-aanval te laten uitvoeren. Omdat de LDAP-database zeer lucratieve informatie bevat, moet de beheerder ervoor zorgen dat de invoer van de gebruiker zeer zorgvuldig is opgeschoond en moet de configuratie worden uitgevoerd met inachtneming van alle beveiligingsfactoren.

Aanbevolen artikelen

Dit is een handleiding voor LDAP-injectie. Hier bespreken we wat LDAP-injectie is, de voorbeelden ervan en hoe LDAP-injectie kan worden beschermd. U kunt ook onze andere gerelateerde artikelen doornemen voor meer informatie-

  1. Wat is SQL-injectie?
  2. Wat is Laravel?
  3. Beveiligingstests
  4. Wat is Java-interface?