Въведение в LDAP инжектиране

Предполага се, че уеб приложението днес е много повече от платформата, която обработва заявките на потребителя. В по-ранния период уеб приложението се отнасяше до мястото, където потребителите могат да дойдат да си вършат работата и да излязат, а с момента, в който излязат, приложението спира да работи. Но в наши дни уеб приложението трябва да работи, дори ако потребителят не го използва, което би могло да се реализира с помощта на бисквитки. Наскоро Facebook потвърди, че използват бисквитки, за да проверят дейността на потребителите, за да гарантират, че системата им не се злоупотребява. Така че в момента, в който онлайн приложенията трябва да бъдат по-мощни, сигурността на приложението оглавява списъка с изискванията. Тук ще се съсредоточим върху един вид режим на кибератака, за който трябва да се внимава, за да се гарантира безопасността на системата.

Какво е инжектиране на LDAP?

  • LDAP означава лек протокол за достъп до директория. Тя може да бъде дефинирана като протокол, който е неутрален за доставчика и работи върху слоя над TCP / IP стека. Използва се за въвеждане на механизма за проверка и удостоверяване на авторитета в уеб приложението, за да се гарантира неговата безопасност и много често се използва при разработването на уеб приложения. LDAP се използва много често в уеб приложенията, които се използват през интернет или интранет. За уеб приложението е много важно да работи с LDAP, тъй като е много често срещан и важен фактор, който улеснява сигурното развитие на уеб приложението.
  • LDAP също може да бъде определен като набор от стандарти, които се използват за извършване на проверки за сигурност, за да се разбере дали потребителят има цялото разрешение за достъп до съществуващата система. Има няколко начина за извършване на проверките, но в крайна сметка мотивът на всички проверки е да се гарантира безопасността на уеб приложението. Той забранява неоторизиран достъп на потребителите, които нямат подходящите привилегии. Въз основа на правата, които потребителят притежава за конкретното уеб приложение, той гарантира, че потребителят може да има достъп само до онези неща, на които има право. Въпреки че се използва, за да се грижи за сигурността на уеб приложението, той може да бъде подмамен от хакерите да извлекат сока от приложението.

Извършване на LDAP инжекция с пример

  • Уеб приложението трябва да вземе данните от потребителя, за да го обработи допълнително. Атакистът може да се възползва от това, ако въведената от потребителите стойност не бъде дезинфекцирана правилно и директно отиде в базата данни за изпълнение. Тук ще видим как LDAP инжектирането може да бъде стартирано във всяко от уеб приложението, което е предразположено към тази атака.

IEnter your name

  • Споменатата по-горе заявка ще се трансформира в приятелска команда за LDAP, така че приложението да улесни доброто изпълнение на заявката.

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

  • В горния случай, ако стойността, подадена от потребителя, не е санирана, това може да доведе до получаване на името на всички съществуващи потребители, като се постави „*“ в полето за въвеждане. Звездичка обозначава всички налични опции, така че когато базата данни ще обработва звездичката, а не всяко конкретно потребителско име, ще му бъдат предоставени всички обекти, съхранявани в базата данни на LDAP. Действителната заявка, която ще се изпълнява в базата данни, ще бъде

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

  • Когато данните не са санирани и базата данни приема стойността на звездичка в процеса, кодът ще бъде както по-долу.

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

Веднага щом горният уязвим код ще влезе в базата данни на LDAP, той ще преминава през всички обекти, съхранявани в базата данни на LDAP и ще доведе до вреда на уеб приложението. Резултатът от инжектирането на LDAP ще бъде използван от хакера за злоупотреба със системата и причиняване на нарушение на сигурността.

Как можете да защитите от атаки LDAP Injection?

  • Ако има уязвимост в приложението, трябва да съществува и неговото отстраняване. Едва ли ще има уязвимост, която не може да бъде разрешена или фиксирана, за да защити системата. По същия начин има няколко начина, които могат да се използват за защита на уеб приложението от инжектиране на LDAP.
  • Първият и най-съществен начин е да се санира входът, преди да се вземе допълнително за обработка. Въведеният от потребителя вход трябва да бъде валидиран, ако съответства на изискването, което отговаря на това, което приложението очаква през това текстово поле. Например, ако потребителят се опита да въведе някакви специални символи в текстовото поле, което изисква името, тогава потребителят трябва да бъде предупреден, че не може да попълни специален символ в това поле. Това е валидирането от страна на клиента. Сега също ще се изисква проверка от страна на сървъра, за да се уверите, че предоставените данни са истински.
  • Следващият е да конфигурирате LDAP, като имате предвид безопасността. Конфигурацията на LDAP трябва да се извършва по начин, който ограничава неоторизираните потребители да правят злонамерени промени в системата. Освен това, следващото е, че резултатът от LDAP заявката трябва да бъде ограничен и не може да разкрие никакви данни, които биха могли да доведат до нарушения на сигурността. Ако данните няма да са достатъчни, за да навредят на системата, нападателят няма да може да повлияе по никакъв начин на уеб приложението, дори ако е бил в състояние да стартира LDAP инжекционната атака.

заключение

Лекият протокол за достъп до директория предоставя пътя към приложението, за да се гарантира, че потребителят, който се опитва да получи достъп до системата, е надлежно удостоверен и упълномощен да използва системата. Много е важно да вземете предвид LDAP, като същевременно се грижите за всички проблеми, свързани със сигурността. Системата трябва да бъде достатъчно силна, за да не позволи на всеки хакер да започне LDAP атака. Тъй като базата данни на LDAP съдържа много доходоносна информация, администраторът трябва да гарантира, че входът от потребителя е дезинфекциран много внимателно и конфигурирането трябва да се извърши, като се имат предвид всички фактори за сигурност.

Препоръчителни статии

Това е ръководство за LDAP инжектиране. Тук обсъждаме какво е LDAP Injection, неговите примери и как да защитим LDAP Injection атака. Можете също да разгледате и другите ни свързани статии, за да научите повече-

  1. Какво е SQL инжектиране?
  2. Какво е Laravel?
  3. Тестване на сигурността
  4. Какво е Java интерфейс?