Zum Inhalt springen

LDAP Injection (ARCH5107)

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

Key go.security.ldap-injection · Severity error · Category security · CWE CWE-90

Inserting untrusted input into an LDAP search filter without escaping lets an attacker alter the filter logic and bypass authentication.

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

Escape filter values with ldap.EscapeFilter so special characters cannot break the filter logic.