Wprowadzenie do iniekcji LDAP

Obecnie aplikacja internetowa ma być czymś więcej niż platformą przetwarzającą zapytania użytkownika. We wcześniejszym okresie aplikacja internetowa była poświęcona miejscu, w którym użytkownicy mogą przychodzić do pracy i wylogowywać się, a do czasu wylogowania aplikacja przestaje działać. Ale obecnie aplikacja internetowa musi działać, nawet jeśli użytkownik jej nie używa, co można zaimplementować za pomocą plików cookie. Facebook ostatnio potwierdził, że używa plików cookie do sprawdzania aktywności użytkowników, aby upewnić się, że ich system nie jest nadużywany. W czasach, gdy aplikacje online muszą być bardziej wydajne, bezpieczeństwo aplikacji znajduje się na szczycie listy wymagań. W tym miejscu skupimy się na jednym rodzaju trybu cyberataku, o który należy zadbać, aby zapewnić bezpieczeństwo systemu.

Co to jest zastrzyk LDAP?

  • LDAP oznacza Lightweight Directory Access Protocol. Można go zdefiniować jako protokół niezależny od dostawcy i działający na warstwie przez stos TCP / IP. Służy do wprowadzenia mechanizmu sprawdzania uprawnień i uwierzytelniania w aplikacji internetowej, aby zapewnić jej bezpieczeństwo i jest bardzo często wykorzystywany podczas tworzenia aplikacji internetowych. LDAP jest bardzo często używany w aplikacjach internetowych używanych przez Internet lub intranet. Bardzo ważne jest, aby aplikacja internetowa korzystała z LDAP, ponieważ jest to bardzo powszechny i ​​ważny czynnik, który ułatwia bezpieczny rozwój aplikacji internetowej.
  • LDAP można również zdefiniować jako zestaw standardów używanych do przeprowadzania kontroli bezpieczeństwa w celu sprawdzenia, czy użytkownik ma wszystkie uprawnienia dostępu do istniejącego systemu. Istnieje kilka sposobów przeprowadzania kontroli, ale ostatecznie celem wszystkich kontroli jest zapewnienie bezpieczeństwa aplikacji internetowej. Zabrania nieautoryzowanego dostępu użytkownikom, którzy nie mają odpowiednich uprawnień. W oparciu o prawa, które użytkownik posiada dla konkretnej aplikacji internetowej, zapewnia, że ​​użytkownik może mieć dostęp tylko do tych rzeczy, do których ma prawo. Chociaż służy do dbania o bezpieczeństwo aplikacji internetowej, hakerzy mogą ją również oszukać, aby wyodrębnić sok z aplikacji.

Wykonywanie zastrzyku LDAP z przykładem

  • Aplikacja internetowa musi pobierać dane wejściowe od użytkownika w celu dalszego przetwarzania. Osoba atakująca może skorzystać z tego, jeśli wartość wprowadzona przez użytkowników nie jest odpowiednio odkażona i bezpośrednio przechodzi do bazy danych w celu wykonania. Tutaj zobaczymy, jak można wstrzyknąć LDAP w dowolnej aplikacji internetowej podatnej na ten atak.

IEnter your name

  • Zapytanie wspomniane powyżej zostanie przekształcone w przyjazne polecenie LDAP, dzięki czemu aplikacja ułatwi prawidłowe wykonanie zapytania.

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

  • W powyższym przypadku, jeśli wartość przesłana przez użytkownika nie zostanie zdezynfekowana, może to prowadzić do uzyskania nazwy wszystkich istniejących użytkowników poprzez wstawienie „*” w polu wprowadzania. Gwiazdka oznacza wszystkie dostępne opcje, więc gdy baza danych przetworzy gwiazdkę zamiast dowolnej konkretnej nazwy użytkownika, otrzyma wszystkie obiekty przechowywane w bazie danych LDAP. Faktyczne zapytanie, które będzie wykonywane w bazie danych, będzie

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

  • Gdy dane nie zostaną zdezynfekowane, a baza danych zaakceptuje wartość gwiazdki dla procesu, kod będzie wyglądał jak poniżej.

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

Gdy tylko powyższy podatny kod zostanie uruchomiony w bazie danych LDAP, przejdzie przez wszystkie obiekty przechowywane w bazie danych LDAP i doprowadzi do uszkodzenia aplikacji internetowej. Wynik wstrzyknięcia LDAP zostanie następnie wykorzystany przez hakera do nadużycia systemu i spowodowania naruszenia bezpieczeństwa.

Jak można chronić przed atakami typu LDAP Injection?

  • Jeśli w aplikacji występuje luka, musi istnieć również jej sposób zaradzenia. Nie będzie prawie żadnej luki, której nie można naprawić ani naprawić w celu ochrony systemu. W ten sam sposób istnieje kilka sposobów ochrony aplikacji internetowej przed wstrzyknięciem LDAP.
  • Pierwszym i najważniejszym sposobem jest odkażanie danych wejściowych przed dalszym przetwarzaniem. Dane wejściowe przesłane przez użytkownika muszą zostać zatwierdzone, jeśli odpowiadają wymaganiom, które spełniają wymagania aplikacji w tym polu tekstowym. Na przykład, jeśli użytkownik próbuje wprowadzić znaki specjalne w polu tekstowym, które prosi o nazwę, należy ostrzec użytkownika, że ​​nie może wypełnić znaku specjalnego w tym polu. To jest weryfikacja po stronie klienta. Teraz weryfikacja po stronie serwera będzie również wymagana, aby upewnić się, że dostarczone dane są prawdziwe.
  • Następnym jest skonfigurowanie LDAP z myślą o bezpieczeństwie. Konfiguracji LDAP należy dokonać w sposób ograniczający nieautoryzowanym użytkownikom dokonywanie złośliwych zmian w systemie. Kolejnym jest to, że wynik zapytania LDAP musi być ograniczony i nie może ujawnić żadnych danych, które mogłyby prowadzić do naruszenia bezpieczeństwa. Jeśli dane nie będą wystarczające do uszkodzenia systemu, osoba atakująca nie będzie mogła wpłynąć na aplikację internetową w żaden sposób, nawet jeśli byłaby w stanie przeprowadzić atak wstrzykiwania LDAP.

Wniosek

Lightweight Directory Access Protocol zapewnia dostęp do aplikacji w celu zapewnienia, że ​​użytkownik próbujący uzyskać dostęp do systemu jest odpowiednio uwierzytelniony i upoważniony do korzystania z systemu. Bardzo ważne jest, aby wziąć pod uwagę LDAP, jednocześnie dbając o wszystkie kwestie bezpieczeństwa. System powinien być wystarczająco mocny, aby żaden haker nie mógł przeprowadzić ataku LDAP. Ponieważ baza danych LDAP zawiera bardzo intratne informacje, administrator musi zapewnić, że dane wejściowe od użytkownika zostaną zdezynfekowane bardzo ostrożnie, a konfiguracja musi zostać wykonana z uwzględnieniem wszystkich czynników bezpieczeństwa.

Polecane artykuły

Jest to przewodnik po wstrzykiwaniu LDAP. Tutaj omawiamy, czym jest zastrzyk LDAP, jego przykłady i jak chronić atak przed zastrzykiem LDAP. Możesz również przejrzeć nasze inne powiązane artykuły, aby dowiedzieć się więcej-

  1. Co to jest SQL Injection?
  2. Co to jest Laravel?
  3. Testy bezpieczeństwa
  4. Co to jest interfejs Java?