in src/java/detectors/ldap_injection/LdapInjection.java [37:54]
public void ldapSearchCompliant(HttpServletRequest request) {
try {
DirContext directoryContext = new InitialDirContext();
SearchControls controls = new SearchControls();
final String filter = request.getParameter("filter");
// Compliant: user-supplied filter is checked for allowed characters to prevent ldap injection.
if (!filter.matches("[a-z]+")) {
throw new IllegalArgumentException();
}
Object[] args = new Object[]{"Some object"};
String base = "some base";
NamingEnumeration<SearchResult> results =
directoryContext.search(base, filter, args, controls);
System.out.println(results);
} catch (NamingException e) {
System.out.println(e);
}
}