Uvod v LDAP injekcijo

Spletna aplikacija v teh dneh naj bi bila veliko več kot le platforma, ki obdeluje uporabnikove poizvedbe. V prejšnjem obdobju je spletna aplikacija vsebovala kraj, kamor lahko uporabniki pridejo, opravijo svoje delo in se odjavijo, in ko se odjavijo, aplikacija preneha delovati. Toda danes mora spletna aplikacija delovati, tudi če je uporabnik ne uporablja, kar bi bilo mogoče uporabiti s piškotki. Nedavno je Facebook potrdil, da uporabljajo piškotke za preverjanje dejavnosti uporabnikov, da se prepreči zloraba njihovega sistema. V času, ko morajo biti spletne aplikacije zmogljivejše, varnost aplikacije vodi seznam zahtev. Tu se bomo osredotočili na eno vrsto načina kibernetskega napada, na katerega je treba poskrbeti, da zagotovimo varnost sistema.

Kaj je injekcija LDAP?

  • LDAP pomeni lahek protokol dostopa do imenika. Opredelimo ga lahko kot protokol, ki ni nevtraliziran do prodajalca in deluje na plasti nad TCP / IP skladom. Uporablja se za uvedbo mehanizma za preverjanje in preverjanje pristnosti v spletno aplikacijo, da se zagotovi njegova varnost in se pogosto uporablja pri razvoju spletnih aplikacij. LDAP se zelo pogosto uporablja v spletnih aplikacijah, ki se uporabljajo prek interneta ali intraneta. Za spletno aplikacijo je zelo pomembno, da deluje z LDAP, saj je zelo pogost in pomemben dejavnik, ki omogoča varen razvoj spletne aplikacije.
  • LDAP je mogoče definirati tudi kot niz standardov, ki se uporabljajo za izvajanje varnostnih pregledov, da bi ugotovili, ali ima uporabnik vsa dovoljenja za dostop do obstoječega sistema. Varnosti je mogoče izvesti na več načinov, vendar je sčasoma motiv vseh pregledov zagotovitev varnosti spletne aplikacije. Prepoveduje nepooblaščen dostop uporabnikov, ki nimajo ustreznih privilegijev. Na podlagi pravic, ki jih ima uporabnik za določeno spletno aplikacijo, zagotavlja, da lahko uporabnik dostopa le do tistih stvari, do katerih je upravičen. Čeprav se uporablja za skrb za varnost spletne aplikacije, lahko hekerji nagajajo, da sok izvlečejo iz aplikacije.

Izvajanje injekcije LDAP s primerom

  • Spletna aplikacija mora uporabniku vnesti vložek, da jo še dodatno obdela. Napadalec lahko to izkoristi, če vrednost, ki jo vnesejo uporabniki, ni ustrezno sanirana in gre neposredno v bazo podatkov za izvedbo. Tu bomo videli, kako bi lahko injiciranje LDAP sprožili v kateri koli spletni aplikaciji, ki je nagnjena k temu napadu.

IEnter your name

  • Zgoraj navedena poizvedba se bo spremenila v LDAP prijazen ukaz, tako da bo aplikacija olajšala dobro izvedbo poizvedbe.

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

  • V zgornjem primeru, če vrednost, ki jo je predložil uporabnik, ni sanirana, lahko privede do imena vseh obstoječih uporabnikov, tako da v vnosno polje vnesete »*«. Zvezdica označuje vse možnosti, ki so na voljo, ko bo baza podatkov obdelala zvezdico namesto katerega koli uporabniškega imena, bo dobila vse predmete, shranjene v bazi podatkov LDAP. Dejanska poizvedba, ki se bo izvajala v bazi podatkov, bo

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

  • Če podatki niso sanitarni in baza podatkov sprejme postopek z zvezdico, bo koda, kot je spodaj.

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

Takoj, ko bo zgornja ranljiva koda tekla v bazo podatkov LDAP, bo prešla skozi vse predmete, shranjene v bazi LDAP, in povzročila škodo spletni aplikaciji. Rezultat injekcije LDAP bo heker uporabil za zlorabo sistema in kršitev varnosti.

Kako lahko zaščitite pred napadi injiciranja LDAP?

  • Če v aplikaciji obstaja ranljivost, mora obstajati tudi njena sanacija. Kmalu ni ranljivosti, ki je ni mogoče razrešiti ali popraviti za zaščito sistema. Na enak način obstaja več načinov, ki se lahko uporabljajo za zaščito spletne aplikacije pred injiciranjem LDAP.
  • Prvi in ​​najpomembnejši način je, da vnesete vnos, preden ga odnesete v nadaljnjo predelavo. Vhod, ki ga pošlje uporabnik, mora biti potrjen, če ustreza zahtevi, ki ustreza programu, ki ga pričakuje v tem besedilnem polju. Na primer, če uporabnik poskuša v besedilno polje vnesti kakršne koli posebne znake, ki zahtevajo ime, ga mora uporabnik opozoriti, da v tem polju ne more zapolniti posebnega znaka. To je preverjanje na strani stranke. Zdaj bo potrebna tudi potrditev na strani strežnika, da se prepričajo, ali so bili posredovani podatki resnični.
  • Naslednja je konfiguracija LDAP-a, pri čemer upošteva varnost. Konfiguracijo LDAP je treba narediti na način, ki nepooblaščenim uporabnikom omejuje, da v sistem vnesejo kakršne koli zlonamerne spremembe. Naslednja je tudi, da mora biti rezultat poizvedbe LDAP omejen in ne sme razkriti nobenih podatkov, ki bi lahko privedli do kršitev varnosti. Če podatki ne bodo zadostovali za škodo sistemu, napadalec ne bo mogel na noben način vplivati ​​na spletno aplikacijo, tudi če bi lahko sprožil napad injekcije LDAP.

Zaključek

Lahki protokol dostopa do imenika omogoča pot do aplikacije, da se zagotovi, da je uporabnik, ki poskuša dostopati do sistema, pravilno overjen in pooblaščen za uporabo sistema. Zelo pomembno je upoštevati LDAP, hkrati pa skrbeti za vse varnostne pomisleke. Sistem mora biti dovolj močan, da nobenemu hekerju ne omogoči napada LDAP. Ker ima baza podatkov LDAP zelo donosne informacije, mora skrbnik zagotoviti, da je bil vhod od uporabnika zelo skrbno sanitiran in da se konfiguracija opravi tako, da upošteva vse varnostne dejavnike.

Priporočeni članki

To je vodnik za injiciranje LDAP. Tukaj razpravljamo, kaj je LDAP Injection, njene primere in kako zaščititi pred napadom LDAP Injection. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Kaj je SQL vbrizgavanje?
  2. Kaj je zdravilo Laravel?
  3. Varnostno testiranje
  4. Kaj je vmesnik Java?