Introduktion til LDAP-injektion

Webapplikationen i disse dage antages at være meget mere end blot den platform, der behandler brugerens forespørgsler. I den tidligere periode handlede webapplikationen det sted, hvor brugere kan komme og udføre deres arbejde og logge af, og når de logger ud, stopper applikationen med at fungere. Men i disse dage skal webapplikationen arbejde, selvom brugeren ikke bruger den, hvilket kunne implementeres ved hjælp af cookies. Facebook har for nylig bekræftet, at de bruger cookies til at kontrollere brugernes aktiviteter for at sikre, at deres system ikke misbruges. Så på det tidspunkt, hvor online-applikationerne skal være mere magtfulde, er applikationens sikkerhed førende på listen over kravene. Her vil vi fokusere på en type cyberangrebtilstand, der skal tages hånd om for at sikre systemets sikkerhed.

Hvad er LDAP-injektion?

  • LDAP står for Lightweight Directory Access Protocol. Det kan defineres som en protokol, der er leverandørneutral og fungerer på laget over TCP / IP-stakken. Det bruges til at introducere autoritetskontrol og autentificeringsmekanismen i webapplikationen for at sikre dens sikkerhed og meget ofte brugt under udvikling af webapplikationer. LDAP bruges meget ofte i de webapplikationer, der bruges over internettet eller intranettet. Det er meget vigtigt for webapplikationen at gå med LDAP, da det er en meget almindelig og vigtig faktor, der letter den sikre udvikling af webapplikationen.
  • LDAP kan også defineres som det sæt standarder, der bruges til at udføre sikkerhedskontroller for at finde ud af, om brugeren har al tilladelse til at få adgang til det eksisterende system. Der er flere måder at foretage kontrollerne på, men i sidste ende er motivet med alle kontrollerne at sikre webapplikationens sikkerhed. Det forbyder uautoriseret adgang for de brugere, der ikke har de rette privilegier. Baseret på de rettigheder, som brugeren har til den bestemte webapplikation, sikrer det, at brugeren kun kunne få adgang til de ting, som de har ret til. Selvom det bruges til at tage sig af webapplikationens sikkerhed, kan det også narre af hackere til at udtrække saften fra applikationen.

Udførelse af LDAP-injektion med eksempel

  • Webapplikationen skal tage input fra brugeren for at kunne behandle det videre. Angriberen kan tage gearing af dette, hvis den værdi, som brugerne indtaster, ikke renses korrekt og direkte går til databasen til udførelse. Her vil vi se, hvordan LDAP-injektionen kunne startes på en hvilken som helst af de webapplikationer, der er tilbøjelige til dette angreb.

IEnter your name

  • Ovennævnte forespørgsel transformeres til LDAP-venlig kommando, så applikationen gør det let for udførelsen af ​​forespørgslen godt.

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

  • I ovennævnte tilfælde, hvis den værdi, der er indsendt af brugeren ikke er saneret, kan det føre til at få navnet på alle de eksisterende brugere ved at sætte “*” i inputfeltet. En stjerne angiver alle de tilgængelige indstillinger, så når databasen behandler stjerne snarere et bestemt brugernavn, får den alle de objekter, der er gemt i LDAP-databasen. Den faktiske forespørgsel, der eksekveres i databasen, vil være

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

  • Når dataene ikke renses, og databasen accepterer stjerneværdien til processen, vil koden være som nedenfor.

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

Så snart ovennævnte sårbare kode løber ind i LDAP-databasen, vil den gennem alle objekter, der er gemt i LDAP-databasen, og føre til skade på webapplikationen. Resultatet af LDAP-injektion vil derefter blive brugt af hackeren til at misbruge systemet og forårsage sikkerhedsbrud.

Hvordan kan du beskytte form fra LDAP-injektionsangreb?

  • Hvis der er en sårbarhed i applikationen, skal der også findes dens afhjælpning. Der vil næppe være nogen sårbarhed, der ikke kan løses eller rettes for at beskytte systemet. På samme måde er der flere måder, der kan bruges til at beskytte webapplikationen mod LDAP-injektion.
  • Den allerførste og mest væsentlige måde er at desinficere input, før det tages videre til behandling. Det input, som brugeren har indsendt, skal valideres, hvis det svarer til kravet, der passer til hvad applikationen forventer gennem det tekstfelt. Hvis brugeren for eksempel forsøger at indsende specialtegn i det tekstfelt, der beder om navnet, skal brugeren advares om, at de ikke kan udfylde specialtegn i det felt. Dette er valideringen på klientsiden. Nu kræves også validering på serversiden for at sikre, at de data, der er leveret, er ægte.
  • Den næste er at konfigurere LDAP og holde sikkerheden i tankerne. LDAP-konfigurationen skal udføres på en måde, der begrænser uautoriserede brugere til at foretage ondsindede ændringer i systemet. Den næste er også, at resultatet af LDAP-forespørgslen skal være begrænset og ikke kan afsløre data, der kan føre til sikkerhedsbrud. Hvis dataene ikke er tilstrækkelige til at skade systemet, vil angriberen ikke være i stand til at påvirke webapplikationen på nogen måde, selvom de var i stand til at starte LDAP-injektionsangrebet.

Konklusion

Lightweight Directory Access Protocol giver vejen til applikationen for at sikre, at den bruger, der forsøger at få adgang til systemet, er korrekt godkendt og autoriseret til at bruge systemet. Det er meget vigtigt at overveje LDAP, mens man tager sig af alle sikkerhedsmæssige problemer. Systemet skal være rigeligt til stærkt for ikke at lade nogen hacker starte et LDAP-angreb. Da LDAP-databasen indeholder meget lukrative oplysninger, skal administratoren sikre sig, at input fra brugeren er blevet saneret meget omhyggeligt, og konfigurationen skal udføres ved at holde alle sikkerhedsfaktorer i tankerne.

Anbefalede artikler

Dette er en guide til LDAP-injektion. Her diskuterer vi, hvad der er LDAP-injektion, dens eksempler, og hvordan man beskytter LDAP-injektionsangreb. Du kan også gennemgå vores andre relaterede artikler for at lære mere-

  1. Hvad er SQL-injektion?
  2. Hvad er Laravel?
  3. Sikkerhedstest
  4. Hvad er Java-interface?

Kategori: