Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
String base = "ou=users,ou=system";
javax.naming.directory.SearchControls sc = new javax.naming.directory.SearchControls();
sc.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
String filter = "(&(objectclass=person))(|(uid=" + param + ")(street={0}))";
String filter = "(&(objectclass=person))(|(uid={0})(street={1}))";
Object[] filters = new Object[] {"The streetz 4 Ms bar"};

javax.naming.directory.DirContext ctx = ads.getDirContext();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,9 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
String base = "ou=users,ou=system";
javax.naming.directory.SearchControls sc = new javax.naming.directory.SearchControls();
sc.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
String filter = "(&(objectclass=person))(|(uid=" + param + ")(street={0}))";
Object[] filters = new Object[] {"The streetz 4 Ms bar"};
String escapedParam = org.owasp.esapi.ESAPI.encoder().encodeForLDAP(param);
String filter = "(&(objectclass=person))(|(uid={0})(street={1}))";
Object[] filters = new Object[] {escapedParam, "The streetz 4 Ms bar"};
boolean found = false;
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> results =
ctx.search(base, filter, filters, sc);
Expand Down
32 changes: 13 additions & 19 deletions src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00630.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,18 +72,20 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
String base = "ou=users,ou=system";
javax.naming.directory.SearchControls sc = new javax.naming.directory.SearchControls();
sc.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
String filter = "(&(objectclass=person)(uid=" + bar + "))";
import org.owasp.esapi.ESAPI;

String barEncoded = ESAPI.encoder().encodeForLDAP(bar);

String filter = "(&(objectclass=person)(uid={0}))";
javax.naming.directory.DirContext ctx = ads.getDirContext();
javax.naming.directory.InitialDirContext idc =
(javax.naming.directory.InitialDirContext) ctx;
boolean found = false;
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> results =
idc.search(base, filter, sc);
javax.naming.directory.InitialDirContext idc = (javax.naming.directory.InitialDirContext) ctx;
javax.naming.directory.SearchControls sc = new javax.naming.directory.SearchControls();
sc.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> results = idc.search(base, filter, new Object[]{barEncoded}, sc);

boolean found = false;
while (results.hasMore()) {
javax.naming.directory.SearchResult sr =
(javax.naming.directory.SearchResult) results.next();
javax.naming.directory.SearchResult sr = (javax.naming.directory.SearchResult) results.next();
javax.naming.directory.Attributes attrs = sr.getAttributes();

javax.naming.directory.Attribute attr = attrs.get("uid");
Expand All @@ -93,17 +95,9 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
.println(
"LDAP query results:<br>"
+ "Record found with name "
+ org.owasp
.esapi
.ESAPI
.encoder()
.encodeForHTML(attr.get().toString())
+ ESAPI.encoder().encodeForHTML(attr.get().toString())
+ "<br>Address: "
+ org.owasp
.esapi
.ESAPI
.encoder()
.encodeForHTML(attr2.get().toString())
+ ESAPI.encoder().encodeForHTML(attr2.get().toString())
+ "<br>");
found = true;
}
Expand All @@ -112,7 +106,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
response.getWriter()
.println(
"LDAP query results: nothing found for query: "
+ org.owasp.esapi.ESAPI.encoder().encodeForHTML(filter));
+ ESAPI.encoder().encodeForHTML(filter));
}
} catch (javax.naming.NamingException e) {
throw new ServletException(e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
String base = "ou=users,ou=system";
javax.naming.directory.SearchControls sc = new javax.naming.directory.SearchControls();
sc.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
String filter = "(&(objectclass=person))(|(uid=" + bar + ")(street={0}))";
Object[] filters = new Object[] {"The streetz 4 Ms bar"};
String filter = "(&(objectclass=person))(|(uid={0})(street={1}))";
Object[] filters = new Object[] {bar, "The streetz 4 Ms bar"};
boolean found = false;
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> results =
ctx.search(base, filter, filters, sc);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
String base = "ou=users,ou=system";
javax.naming.directory.SearchControls sc = new javax.naming.directory.SearchControls();
sc.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
String filter = "(&(objectclass=person))(|(uid=" + bar + ")(street={0}))";
Object[] filters = new Object[] {"The streetz 4 Ms bar"};
String filter = "(&(objectclass=person))(|(uid={0})(street={1}))";
Object[] filters = new Object[] {bar, "The streetz 4 Ms bar"};

javax.naming.directory.DirContext ctx = ads.getDirContext();
javax.naming.directory.InitialDirContext idc =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
String base = "ou=users,ou=system";
javax.naming.directory.SearchControls sc = new javax.naming.directory.SearchControls();
sc.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
String filter = "(&(objectclass=person))(|(uid=" + bar + ")(street={0}))";
Object[] filters = new Object[] {"The streetz 4 Ms bar"};
String filter = "(&(objectclass=person))(|(uid={0})(street={1}))";
Object[] filters = new Object[] {bar, "The streetz 4 Ms bar"};
boolean found = false;
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> results =
ctx.search(base, filter, filters, sc);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
String base = "ou=users,ou=system";
javax.naming.directory.SearchControls sc = new javax.naming.directory.SearchControls();
sc.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
String filter = "(&(objectclass=person))(|(uid=" + bar + ")(street={0}))";
String filter = "(&(objectclass=person))(|(uid={0})(street={1}))";
Object[] filters = new Object[] {"The streetz 4 Ms bar"};

javax.naming.directory.DirContext ctx = ads.getDirContext();
Expand Down