Úvod do vstrekovania LDAP

Webová aplikácia v týchto dňoch má byť oveľa viac ako len platforma, ktorá spracováva dotazy používateľa. V predchádzajúcom období bola webová aplikácia o mieste, kde používatelia môžu pracovať a odhlásiť sa, a v čase, keď sa odhlásia, aplikácia prestane fungovať. Dnes však musí webová aplikácia fungovať, aj keď ju používateľ nepoužíva, čo by sa dalo implementovať pomocou cookies. Facebook nedávno potvrdil, že používa cookies na kontrolu aktivít používateľov, aby zabezpečil, že ich systém nebude zneužívaný. Takže v čase, keď online aplikácie musia byť výkonnejšie, je bezpečnosť aplikácie v čele zoznamu požiadaviek. Tu sa zameriame na jeden typ režimu kybernetického útoku, ktorý je potrebné postarať o zaistenie bezpečnosti systému.

Čo je injekcia LDAP?

  • LDAP je skratka pre Lightweight Directory Access Protocol. Môže byť definovaný ako protokol, ktorý je neutrálny pre dodávateľa a pracuje na vrstve nad zásobníkom TCP / IP. Používa sa na zavedenie mechanizmu kontroly a overovania autorít vo webovej aplikácii na zabezpečenie jej bezpečnosti a veľmi často sa používa pri vývoji webových aplikácií. LDAP sa veľmi často používa vo webových aplikáciách, ktoré sa používajú cez internet alebo intranet. Pre webovú aplikáciu je veľmi dôležité ísť s LDAP, pretože je to veľmi častý a dôležitý faktor, ktorý uľahčuje bezpečný vývoj webovej aplikácie.
  • LDAP možno definovať aj ako súbor štandardov, ktoré sa používajú na vykonávanie bezpečnostných kontrol, aby sa zistilo, či má užívateľ všetky povolenia na prístup k existujúcemu systému. Existuje niekoľko spôsobov, ako vykonať kontroly, ale nakoniec, motivácia všetkých kontrol je zaistiť bezpečnosť webovej aplikácie. Zakazuje neoprávnený prístup používateľov, ktorí nemajú príslušné oprávnenia. Na základe práv, ktoré má užívateľ pre konkrétnu webovú aplikáciu, zabezpečuje, aby mal užívateľ prístup iba k tým veciam, na ktoré má nárok. Hoci sa používa na zabezpečenie zabezpečenia webovej aplikácie, hackeri ju môžu oklamať, aby extrahovala šťavu z aplikácie.

Vykonanie injekcie LDAP s príkladom

  • Webová aplikácia musí vziať vstup od používateľa, aby ho ďalej spracovala. Útočník to môže využiť, ak hodnota zadaná používateľmi nie je správne dezinfikovaná a priamo ide do databázy na vykonanie. Tu uvidíme, ako by sa mohla spustiť injekcia LDAP v akejkoľvek webovej aplikácii, ktorá je náchylná na tento útok.

IEnter your name

  • Vyššie uvedený dotaz sa transformuje na príkaz priateľský voči LDAP, takže aplikácia uľahčí správne vykonanie dotazu.

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

  • Vo vyššie uvedenom prípade, ak hodnota zadaná používateľom nie je dezinfikovaná, môže viesť k získaniu mena všetkých existujúcich používateľov zadaním „*“ do vstupného poľa. Hviezdička označuje všetky dostupné možnosti, takže keď databáza spracuje hviezdičku skôr konkrétne meno používateľa, dostanú všetky objekty uložené v databáze LDAP. Skutočný dotaz, ktorý sa vykoná v databáze, bude

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

  • Ak údaje nie sú dezinfikované a databáza akceptuje v procese hodnotu hviezdičky, kód bude rovnaký ako v nasledujúcom texte.

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

Hneď, ako sa vyššie uvedený zraniteľný kód spustí do databázy LDAP, prejde všetkými objektmi uloženými v databáze LDAP a povedie k poškodeniu webovej aplikácie. Výsledok injekcie LDAP potom použije hacker na zneužitie systému a na narušenie bezpečnosti.

Ako môžete chrániť pred útokmi injekcie LDAP?

  • Ak je v aplikácii zraniteľnosť, musí existovať aj jej náprava. Neexistuje takmer žiadna zraniteľnosť, ktorú nie je možné vyriešiť alebo opraviť kvôli ochrane systému. Rovnakým spôsobom existuje niekoľko spôsobov, ktoré možno použiť na ochranu webovej aplikácie pred injekciou LDAP.
  • Prvým a najdôležitejším spôsobom je dezinfikovať vstup pred jeho ďalším spracovaním. Vstup zadaný používateľom musí byť overený, ak zodpovedá požiadavke, aby sa balíky dali čokoľvek, čo aplikácia očakáva prostredníctvom tohto textového poľa. Napríklad, ak sa používateľ pokúsi vložiť do textového poľa, ktoré žiada meno, akékoľvek špeciálne znaky, mal by byť upozornený, že v tomto poli nemôže vyplniť špeciálny znak. Toto je potvrdenie na strane klienta. Teraz sa bude vyžadovať aj overenie na strane servera, aby sa zabezpečilo, že poskytnuté údaje sú pravé.
  • Ďalším krokom je konfigurácia protokolu LDAP s ohľadom na bezpečnosť. Konfigurácia LDAP by sa mala vykonávať spôsobom, ktorý obmedzuje neautorizovaných používateľov na vykonávanie škodlivých zmien v systéme. Ďalším z nich je, že výsledok dotazu LDAP musí byť obmedzený a nemôže zverejňovať žiadne údaje, ktoré by mohli viesť k narušeniu bezpečnosti. Ak údaje nebudú stačiť na poškodenie systému, útočník nebude môcť žiadnym spôsobom ovplyvniť webovú aplikáciu, ani keby bol schopný spustiť injekčný útok LDAP.

záver

Protokol Lightweight Directory Access Protocol poskytuje aplikácii spôsob, ako zabezpečiť, aby bol používateľ, ktorý sa pokúša získať prístup do systému, riadne autentizovaný a autorizovaný na používanie systému. Je veľmi dôležité zvážiť LDAP a starať sa o všetky bezpečnostné obavy. Systém by mal byť dostatočne silný, aby nenechal hackerov spustiť útok LDAP. Pretože databáza LDAP obsahuje veľmi lukratívne informácie, správca musí zabezpečiť, aby bol vstup od používateľa veľmi starostlivo dezinfikovaný a konfigurácia sa musí vykonať so zreteľom na všetky bezpečnostné faktory.

Odporúčané články

Toto je sprievodca vstrekovaním LDAP. Tu diskutujeme o tom, čo je vstrekovanie LDAP, jeho príklady a ako chrániť útok vstrekovania LDAP. Viac informácií nájdete aj v ďalších súvisiacich článkoch.

  1. Čo je to SQL Injection?
  2. Čo je Laravel?
  3. Testovanie bezpečnosti
  4. Čo je rozhranie Java?

Kategórie: