LDAP Enjeksiyonu (ARCH5107)
Anahtar go.security.ldap-injection · Önem error · Kategori security · CWE CWE-90
Güvenilmeyen girdiyi kaçırmadan LDAP arama filtresine eklemek, saldırganın filtre mantığını değiştirmesine ve kimlik doğrulamayı atlamasına olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”filter := "(uid=" + username + ")"sr, _ := conn.Search(ldap.NewSearchRequest( baseDN, ldap.ScopeWholeSubtree, 0, 0, 0, false, filter, nil, nil))filter := fmt.Sprintf("(uid=%s)", ldap.EscapeFilter(username))sr, _ := conn.Search(ldap.NewSearchRequest( baseDN, ldap.ScopeWholeSubtree, 0, 0, 0, false, filter, nil, nil))Düzeltme
Bölüm başlığı “Düzeltme”Filtre değerlerini ldap.EscapeFilter ile kaçırarak özel karakterlerin filtre mantığını bozmasını engelleyin.