Einführung in die LDAP-Injection

Die Webanwendung soll heutzutage viel mehr als nur die Plattform sein, auf der die Anfragen des Benutzers verarbeitet werden. In der früheren Zeit war die Webanwendung der Ort, an dem Benutzer ihre Arbeit erledigen und sich abmelden können. Wenn sie sich abmelden, funktioniert die Anwendung nicht mehr. Heutzutage muss die Webanwendung jedoch funktionieren, auch wenn der Benutzer sie nicht verwendet. Dies kann mithilfe von Cookies implementiert werden. Facebook hat kürzlich bestätigt, dass es Cookies verwendet, um die Aktivitäten der Nutzer zu überprüfen, um sicherzustellen, dass ihr System nicht missbraucht wird. In Zeiten, in denen die Online-Anwendungen leistungsfähiger sein müssen, führt die Sicherheit der Anwendung die Liste der Anforderungen an. Hier konzentrieren wir uns auf eine Art von Cyber-Angriffsmodus, auf den geachtet werden muss, um die Sicherheit des Systems zu gewährleisten.

Was ist LDAP-Injection?

  • LDAP steht für Lightweight Directory Access Protocol. Es kann als herstellerneutrales Protokoll definiert werden, das auf der Ebene des TCP / IP-Stacks funktioniert. Es wird verwendet, um den Mechanismus zur Überprüfung und Authentifizierung von Berechtigungen in die Webanwendung einzuführen, um deren Sicherheit zu gewährleisten, und wird sehr häufig bei der Entwicklung von Webanwendungen verwendet. LDAP wird sehr häufig in Webanwendungen verwendet, die über das Internet oder Intranet verwendet werden. Es ist sehr wichtig, dass die Webanwendung mit LDAP arbeitet, da dies ein sehr häufiger und wichtiger Faktor ist, der die sichere Entwicklung der Webanwendung erleichtert.
  • LDAP kann auch als eine Reihe von Standards definiert werden, mit denen die Sicherheitsüberprüfungen durchgeführt werden, um festzustellen, ob der Benutzer alle Berechtigungen zum Zugriff auf das vorhandene System besitzt. Es gibt mehrere Möglichkeiten, die Überprüfungen durchzuführen, aber letztendlich besteht das Motiv aller Überprüfungen darin, die Sicherheit der Webanwendung zu gewährleisten. Es verbietet den unbefugten Zugriff von Benutzern, die nicht über die entsprechenden Berechtigungen verfügen. Basierend auf den Rechten, die der Benutzer für die jeweilige Webanwendung besitzt, wird sichergestellt, dass der Benutzer nur auf die Dinge zugreifen kann, für die er berechtigt ist. Obwohl es verwendet wird, um die Sicherheit der Webanwendung zu gewährleisten, kann es auch von Hackern ausgetrickst werden, um den Saft aus der Anwendung zu extrahieren.

LDAP-Injection mit Beispiel durchführen

  • Die Webanwendung muss die Eingaben des Benutzers entgegennehmen, um sie weiter zu verarbeiten. Der Angreifer kann darauf zurückgreifen, wenn der von den Benutzern eingegebene Wert nicht ordnungsgemäß bereinigt wurde und zur Ausführung direkt in die Datenbank gelangt. Hier sehen wir, wie die LDAP-Injektion in jeder Webanwendung gestartet werden kann, die für diesen Angriff anfällig ist.

IEnter your name

  • Die oben erwähnte Abfrage wird in einen LDAP-freundlichen Befehl umgewandelt, damit die Anwendung die ordnungsgemäße Ausführung der Abfrage erleichtert.

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

  • Wenn der vom Benutzer übermittelte Wert im obigen Fall nicht bereinigt wird, kann dies dazu führen, dass der Name aller vorhandenen Benutzer durch Eingabe von "*" im Eingabefeld abgerufen wird. Ein Stern kennzeichnet alle verfügbaren Optionen. Wenn die Datenbank den Stern anstelle eines bestimmten Benutzernamens verarbeitet, erhält sie alle in der LDAP-Datenbank gespeicherten Objekte. Die tatsächliche Abfrage, die in der Datenbank ausgeführt wird, lautet

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

  • Wenn die Daten nicht bereinigt werden und die Datenbank den Sternchenwert für den Prozess akzeptiert, sieht der Code wie folgt aus.

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

Sobald der oben genannte anfällige Code in der LDAP-Datenbank ausgeführt wird, werden alle in der LDAP-Datenbank gespeicherten Objekte durchsucht, und die Webanwendung wird beschädigt. Das Ergebnis der LDAP-Injektion wird dann vom Hacker verwendet, um das System zu missbrauchen und die Sicherheitsverletzung zu verursachen.

Wie können Sie LDAP-Injection-Angriffe schützen?

  • Wenn die Anwendung eine Sicherheitsanfälligkeit aufweist, muss auch deren Behebung vorhanden sein. Es wird kaum eine Sicherheitsanfälligkeit geben, die zum Schutz des Systems nicht behoben werden kann. Auf die gleiche Weise gibt es verschiedene Möglichkeiten, um die Webanwendung vor LDAP-Injection zu schützen.
  • Der allererste und wichtigste Weg besteht darin, die Eingabe zu bereinigen, bevor sie zur Verarbeitung weitergeleitet wird. Die vom Benutzer übermittelte Eingabe muss validiert werden, wenn sie der Anforderung entspricht, die von der Anwendung in diesem Textfeld erwartet wird. Wenn der Benutzer beispielsweise versucht, Sonderzeichen in das Textfeld einzutragen, in dem nach dem Namen gefragt wird, sollte der Benutzer darauf hingewiesen werden, dass in dieses Feld keine Sonderzeichen eingegeben werden können. Das ist die clientseitige Validierung. Nun muss auch die serverseitige Validierung durchgeführt werden, um sicherzustellen, dass die bereitgestellten Daten echt sind.
  • Der nächste Schritt ist die Konfiguration von LDAP unter Berücksichtigung der Sicherheit. Die LDAP-Konfiguration sollte so erfolgen, dass nicht autorisierte Benutzer keine böswilligen Änderungen am System vornehmen können. Darüber hinaus muss das Ergebnis der LDAP-Abfrage begrenzt sein und darf keine Daten preisgeben, die zu Sicherheitsverletzungen führen könnten. Wenn die Daten nicht ausreichen, um das System zu schädigen, kann der Angreifer die Webanwendung in keiner Weise beeinflussen, selbst wenn er den LDAP-Injection-Angriff starten könnte.

Fazit

Das Lightweight Directory Access-Protokoll bietet der Anwendung die Möglichkeit, sicherzustellen, dass der Benutzer, der versucht, auf das System zuzugreifen, ordnungsgemäß authentifiziert und zur Verwendung des Systems berechtigt ist. Es ist sehr wichtig, LDAP zu berücksichtigen, während alle Sicherheitsbedenken berücksichtigt werden. Das System sollte ausreichend stark sein, damit kein Hacker einen LDAP-Angriff starten kann. Da die LDAP-Datenbank sehr lukrative Informationen enthält, muss der Administrator sicherstellen, dass die Eingaben des Benutzers sehr sorgfältig bereinigt wurden, und die Konfiguration muss unter Berücksichtigung aller Sicherheitsfaktoren erfolgen.

Empfohlene Artikel

Dies ist eine Anleitung zur LDAP-Injection. Hier diskutieren wir, was LDAP-Injection ist, welche Beispiele es gibt und wie LDAP-Injection-Angriffe geschützt werden können. Sie können auch unsere anderen verwandten Artikel durchgehen, um mehr zu erfahren.

  1. Was ist SQL Injection?
  2. Was ist Laravel?
  3. Sicherheitstests
  4. Was ist Java Interface?