Sissejuhatus LDAP-i süstimisse

Tänapäeval peaks veebirakendus olema palju enamat kui lihtsalt platvorm, mis töötleb kasutaja päringuid. Varasemal perioodil oli veebirakendus mõeldud kohta, kuhu kasutajad saavad tulla oma tööd tegema ja välja logima, ning väljalogimise ajaks lakkab rakendus töötamast. Kuid tänapäeval peab veebirakendus töötama ka siis, kui kasutaja seda ei kasuta, mida saaks küpsiste abil rakendada. Facebook kinnitas hiljuti, et nad kasutavad küpsiseid, et kontrollida kasutajate tegevusi ja veenduda, et nende süsteemi ei kuritarvitata. Nii et ajal, mil sidusrakendused peavad olema võimsamad, on rakenduste turvalisus eeskirjade loendis. Siinkohal keskendume ühele küberrünnaku režiimile, mille eest tuleb süsteemi ohutuse tagamiseks hoolitseda.

Mis on LDAP süst?

  • LDAP tähistab kerget kataloogipääsuprotokolli. Seda saab määratleda kui tarnija neutraalset protokolli, mis töötab kihil TCP / IP-pinu kaudu. Seda kasutatakse autoriseerimiskontrolli ja autentimismehhanismi tutvustamiseks veebirakenduses, et tagada selle turvalisus, ning seda kasutatakse veebirakenduste arendamisel väga sageli. LDAP-i kasutatakse veebirakendustes, mida kasutatakse Interneti või sisevõrgu kaudu, väga sageli. Veebirakendusele on väga oluline minna kaasa LDAP-iga, kuna see on väga levinud ja oluline tegur, mis hõlbustab veebirakenduse turvalist arendamist.
  • LDAP-i võib määratleda ka kui standardikomplekti, mida kasutatakse turvakontrolli läbiviimiseks, et teada saada, kas kasutajal on kõik olemasolevale süsteemile juurdepääsu õigused. Kontrolli saab teha mitmel viisil, kuid lõpuks on kõigi kontrollide eesmärk tagada veebirakenduse turvalisus. See keelab nende kasutajate loata juurdepääsu, kellel pole sobivaid õigusi. Tuginedes kasutaja antud õigustele konkreetse veebirakenduse jaoks, tagab see, et kasutajal oleks juurdepääs ainult neile asjadele, milleks neil on õigus. Ehkki seda kasutatakse veebirakenduse turvalisuse tagamiseks, võivad häkkerid seda ka rakendusest mahla välja pressida.

LDAP-i süstimine näitega

  • Veebirakendus peab selle edasiseks töötlemiseks kasutajalt sisendi võtma. Ründaja saab selle ära kasutada, kui kasutajate sisestatud väärtus pole korralikult desinfitseeritud ja läheb otse andmebaasi täitmiseks. Siit näeme, kuidas LDAP-i süstimist saab käivitada mis tahes selle rünnakule kalduva veebirakenduse korral.

IEnter your name

  • Ülalnimetatud päring muudetakse LDAP-sõbralikuks käsuks, nii et rakendus hõlbustab päringu hästi täitmist.

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

  • Ülaltoodud juhul, kui kasutaja esitatud väärtust ei desinfitseerita, võib see viia kõigi olemasolevate kasutajate nime saamiseni, sisestades sisestuskasti *. Tärn tähistab kõiki saadaolevaid suvandeid, nii et kui andmebaas töötleb tärniga pigem mõnda konkreetset kasutajanime, antakse talle kõik LDAP-andmebaasi salvestatud objektid. Tegelik päring, mida andmebaasis täidetakse, on

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

  • Kui andmeid pole desinfitseeritud ja andmebaas aktsepteerib protsessi tärniväärtust, on kood järgmine.

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

Niipea kui ülaltoodud haavatav kood jookseb LDAP-andmebaasi, läbib see kõik LDAP-andmebaasi salvestatud objektid ja põhjustab veebirakendusele kahju. Seejärel kasutab häkker LDAP-i süstimise tulemusi süsteemi kuritarvitamiseks ja turvarikkumise põhjustamiseks.

Kuidas kaitsta LDAP-i süstimisrünnakuid?

  • Kui rakenduses on haavatavus, peab olema olemas ka selle parandamine. Süsteemi kaitsmiseks pole peaaegu ühtegi haavatavust, mida pole võimalik lahendada ega parandada. Samal viisil on mitmeid viise, mida saab kasutada veebirakenduse kaitsmiseks LDAP-i süstimise eest.
  • Esimene ja kõige olulisem viis on puhastada sisend enne töötlemiseks edasist kasutamist. Kasutaja esitatud sisend tuleb valideerida, kui see vastab nõudele, mis peab sobima mis tahes rakendusega, mida see tekstiväli eeldab. Näiteks kui kasutaja proovib nime küsiva teksti väljale saata spetsiaalseid märke, siis tuleb teda hoiatada, et nad ei saa sellel väljal erimärke täita. See on kliendipoolne valideerimine. Nüüd on vaja ka serveripoolset kinnitust, et veenduda, et edastatud andmed on ehtsad.
  • Järgmine on LDAP konfigureerimine, pidades silmas ohutust. LDAP-i konfigureerimine peaks toimuma viisil, mis piirab volitamata kasutajaid süsteemi pahatahtlike muudatuste tegemisel. Järgmine on ka see, et LDAP päringu tulemused peavad olema piiratud ega tohi avaldada andmeid, mis võivad põhjustada turvarikkumisi. Kui andmetest ei piisa süsteemi kahjustamiseks, ei saa ründaja kuidagi veebirakendust mõjutada, isegi kui nad suutsid käivitada LDAP-i süstimisrünnaku.

Järeldus

Kerge kataloogijuurdepääsu protokoll pakub rakendusele tee, tagamaks, et süsteemile juurde pääseda üritaval kasutajal on autentimine ja süsteemi kasutamise luba. Kõigi turvaprobleemide eest hoolitsemisel on väga oluline arvestada LDAP-iga. Süsteem peaks olema piisavalt tugev, et mitte lasta ühelgi häkkeril käivitada LDAP-rünnakut. Kuna LDAP-andmebaasis on väga tulus teave, peab administraator tagama, et kasutaja sisend on väga hoolikalt puhastatud ja konfigureerimine peab toimuma, pidades silmas kõiki turbetegureid.

Soovitatavad artiklid

See on LDAP-i süstimise juhend. Siin arutame, mis on LDAP süstimine, selle näited ja kuidas kaitsta LDAP süstimisrünnakut. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Mis on SQL-i süstimine?
  2. Mis on Laravel?
  3. Turvalisuse testimine
  4. Mis on Java liides?

Kategooria: