LDAP enjeksiyonu - LDAP injection

İçinde bilgisayar Güvenliği, LDAP enjeksiyonu bir kod yerleştirme istismar için kullanılan teknik Web uygulamaları hassas kullanıcı bilgilerini açığa çıkarabilir veya burada gösterilen bilgileri değiştirebilir. LDAP (Hafif Dizin Erişim Protokolü) veri depoları.[1][2][3] LDAP enjeksiyonu, dahili arama, ekleme veya değiştirme işlevlerine geçirilen girdi parametrelerini işleyerek bir uygulamadaki güvenlik açığından yararlanır. Bir uygulama kullanıcı girdisini düzgün bir şekilde temizleyemediğinde, saldırganın bir LDAP ifadesini değiştirmesi mümkündür.

Teknik Uygulama

LDAP enjeksiyonu, kullanıcı girişi uygun şekilde temizlenmediğinde ve daha sonra dinamik olarak oluşturulmuş bir LDAP filtresinin parçası olarak kullanıldığında oluşur. Bu, kimlik doğrulama bilgilerini görüntülemek, değiştirmek veya atlamak için LDAP sunucusunda gerçekleştirilen LDAP deyimlerinin olası manipülasyonuyla sonuçlanır.[1]

Önleme

LDAP enjeksiyonu bilinen bir saldırıdır ve basit önlemlerle önlenebilir. İstemci tarafından sağlanan tüm girdiler, kötü niyetli davranışlara neden olabilecek herhangi bir karakter açısından kontrol edilmeli / temizlenmelidir. Giriş doğrulaması, LDAP sorgu dilinin bir parçası olan özel karakterlerin, bilinen veri türlerinin, yasal değerlerin vb. Varlığını kontrol ederek girişi doğrulamalıdır.[2] Beyaz liste giriş doğrulaması, LDAP sorgusuna geçmeden önce yetkisiz girişi tespit etmek için de kullanılabilir.

Misal

Aşağıdaki örnekte, oturum açmak amacıyla bir kullanıcının kimlik bilgilerini doğrulamak için bir sorgu oluşturulmuştur.

Dize filtresi = “(& (USER =” + kullanıcı_adı + “) (ŞİFRE =“ + kullanıcı_parolası + “))”;

Tipik bir kullanım durumunda, bir kullanıcı kendi kullanıcı kimlik bilgilerini sağlar ve bu filtre bu kimlik bilgilerini doğrulamak için kullanılır. Ancak, bir saldırgan değişken için hazırlanmış bir girdi girebilir. Kullanıcı adı gibi John Doe)(&) ve şifre için herhangi bir değer, tamamlanan sorgu haline gelir (& (USER = johnDoe) (&)) (PASSWORD = pass)). Bu sorgunun yalnızca ilk kısmı LDAP sunucusu tarafından işlenir (& (USER = johnDoe) (&), her zaman doğru olarak değerlendirilen, saldırganın geçerli kullanıcı kimlik bilgileri sağlamasına gerek kalmadan sisteme erişmesine izin verir.

Ayrıca bakınız

Referanslar

  1. ^ a b Alonso, J. M .; Bordon, R .; Beltran, M .; Guzman, A. (1 Kasım 2008). "LDAP enjeksiyon teknikleri". 2008 11. IEEE Singapur Uluslararası Haberleşme Sistemleri Konferansı: 980–986. doi:10.1109 / ICCS.2008.4737330. ISBN  978-1-4244-2423-8.
  2. ^ a b "Web Uygulama Güvenliği Konsorsiyumu / LDAP Enjeksiyonu". projects.webappsec.org. Alındı 9 Aralık 2016.
  3. ^ Varanasi, Balaji (2013-11-26). Pratik Yay LDAP: Kurumsal Java LDAP Geliştirme Kolaylaştırıldı. Apress. s. 97. ISBN  978-1-4302-6398-2. Alındı 9 Aralık 2016.