Introduksjon til LDAP-injeksjon

Nettapplikasjonen i disse dager er ment å være mye mer enn bare plattformen som behandler brukerens spørsmål. I den tidligere perioden handlet webapplikasjonen om stedet der brukere kan komme og gjøre sitt arbeid og logge av, og når de logger seg, slutter applikasjonen å fungere. Men i disse dager må webapplikasjonen fungere selv om brukeren ikke bruker den, noe som kan implementeres ved hjelp av informasjonskapsler. Facebook har nylig bekreftet at de bruker informasjonskapsler for å sjekke brukernes aktiviteter for å sikre at systemet ikke misbrukes. Så på det tidspunktet hvor online-applikasjonene må være kraftigere, leder sikkerheten til applikasjonen listen over kravene. Her vil vi fokusere på en type cyberangrepsmodus som må tas vare på for å sikre sikkerheten i systemet.

Hva er LDAP-injeksjon?

  • LDAP står for Lightweight Directory Access Protocol. Det kan defineres som en protokoll som er leverandørnøytral og fungerer på laget over TCP / IP-stabel. Det brukes til å introdusere autorisasjonskontroll og autentiseringsmekanisme i webapplikasjonen for å sikre dens sikkerhet og veldig ofte brukt mens utviklingen av webapplikasjoner. LDAP brukes veldig ofte i nettapplikasjonene som brukes over internett eller intranett. Det er veldig viktig for webapplikasjonen å gå med LDAP, da det er en veldig vanlig og viktig faktor som letter den sikre utviklingen av webapplikasjonen.
  • LDAP kan også defineres som settet med standarder som brukes til å utføre sikkerhetskontrollene for å finne ut om brukeren har all tillatelse til å få tilgang til det eksisterende systemet. Det er flere måter å foreta sjekkene på, men etter hvert er motivet for alle sjekkene å sikre sikkerheten til webapplikasjonen. Det forbyr uautorisert tilgang til brukere som ikke har de rette rettighetene. Basert på rettighetene som brukeren har for den bestemte webapplikasjonen, sikrer det at brukeren bare kan få tilgang til de tingene de har krav på. Selv om det brukes til å ta vare på webapplikasjonens sikkerhet, kan det også lures av hackere å hente ut saften fra applikasjonen.

Utføre LDAP-injeksjon med eksempel

  • Nettapplikasjonen må ta innspill fra brukeren for å kunne behandle den videre. Angriperen kan utnytte dette hvis verdien som er lagt inn av brukerne ikke blir sanert på riktig måte og direkte går til databasen for utførelse. Her vil vi se hvordan LDAP-injeksjonen kan startes på hvilken som helst av webapplikasjonene som er utsatt for dette angrepet.

IEnter your name

  • Spørsmålet nevnt ovenfor vil bli transformert til LDAP-vennlig kommando slik at applikasjonen gjør det enkelt for spørringen å bli utført godt.

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

  • I tilfelle ovenfor, hvis verdien som sendes inn av brukeren ikke blir desinfisert, kan det føre til at du får navnet på alle eksisterende brukere ved å sette “*” i innmatingsboksen. En stjerne angir alle tilgjengelige alternativer, så når databasen vil behandle stjerne snarere et bestemt brukernavn, vil det bli gitt alle objektene som er lagret i LDAP-databasen. Selve spørringen som skal kjøres i databasen, vil være

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

  • Når dataene ikke blir desinfisert og databasen godtar stjerneverdien til prosessen, vil koden være som nedenfor.

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

Så snart den ovennevnte sårbare koden vil løpe inn i LDAP-databasen, vil den gjennom alle objektene som er lagret i LDAP-databasen, og føre til skade på webapplikasjonen. Utfallet av LDAP-injeksjon vil deretter bli brukt av hackeren til å misbruke systemet og forårsake sikkerhetsbrudd.

Hvordan kan du beskytte angrep fra LDAP-injeksjon?

  • Hvis det er en sårbarhet i applikasjonen, må det finnes en sanering også. Det vil knapt være noen sårbarheter som ikke kan løses eller fikses for å beskytte systemet. På samme måte er det flere måter som kan brukes til å beskytte webapplikasjonen mot LDAP-injeksjon.
  • Den aller første og mest essensielle måten er å desinfisere innspillet før du tar det videre for behandling. Innspillene som sendes inn av brukeren, må valideres hvis det samsvarer med kravet som passer til hva applikasjonen forventer gjennom det tekstfeltet. Hvis brukeren for eksempel prøver å sende inn noen spesielle tegn i tekstfeltet som ber om navnet, bør brukeren varsles om at de ikke kan fylle spesialtegn i det feltet. Dette er valideringen på klientsiden. Nå vil også valideringen på serversiden være påkrevd for å sikre at dataene som er gitt, er ekte.
  • Den neste er å konfigurere LDAP og ha sikkerhet i tankene. LDAP-konfigurasjonen bør gjøres på en måte som begrenser uautoriserte brukere til å gjøre skadelige endringer i systemet. Det neste er også, utfallet av LDAP-spørringen må være begrenset og kan ikke røpe data som kan føre til sikkerhetsbrudd. Hvis dataene ikke vil være tilstrekkelige til å skade systemet, vil angriperen ikke kunne påvirke webapplikasjonen på noen måte selv om de var i stand til å starte LDAP-injeksjonsangrepet.

Konklusjon

Lightweight Directory Access Protocol gir veien til applikasjonen for å sikre at brukeren som prøver å få tilgang til systemet, er riktig autentisert og autorisert til å bruke systemet. Det er veldig viktig å ta hensyn til LDAP mens du tar vare på alle sikkerhetsproblemene. Systemet skal være stort til sterkt for ikke å la noen hacker starte et LDAP-angrep. Siden LDAP-databasen inneholder veldig lukrativ informasjon, må administratoren sørge for at inngangene fra brukeren er blitt sanert veldig nøye, og konfigurasjonen må gjøres ved å huske alle sikkerhetsfaktorene.

Anbefalte artikler

Dette er en guide til LDAP-injeksjon. Her diskuterer vi hva som er LDAP-injeksjon, dens eksempler og hvordan du kan beskytte LDAP-injeksjonsangrep. Du kan også gå gjennom andre relaterte artikler for å lære mer-

  1. Hva er SQL-injeksjon?
  2. Hva er Laravel?
  3. Sikkerhetstesting
  4. Hva er Java-grensesnitt?