İçeriğe geç

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.

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))

Filtre değerlerini ldap.EscapeFilter ile kaçırarak özel karakterlerin filtre mantığını bozmasını engelleyin.