LDAP Injection (ARCH4107)
Ce contenu n’est pas encore disponible dans votre langue.
Key java.security.ldap-injection · Severity error · Category security · CWE CWE-90
Building LDAP search filters by concatenating unescaped user input allows filter manipulation and authentication bypass. Pass input through LDAP filter escaping.
Incorrect
Section titled “Incorrect”String filter = "(uid=" + request.getParameter("user") + ")"; // unescapedNamingEnumeration<SearchResult> r = ctx.search("ou=people", filter, controls);Correct
Section titled “Correct”String filter = "(uid={0})";Object[] args = { request.getParameter("user") }; // bound arg is escapedNamingEnumeration<SearchResult> r = ctx.search("ou=people", filter, args, controls);Pass values as bound arguments or apply filter escaping in LDAP filters; do not concatenate strings.