Java 如何使用StringEscapeUtils类保护代码不受LDAP注入漏洞的影响?

Java 如何使用StringEscapeUtils类保护代码不受LDAP注入漏洞的影响?,java,security,ldap,code-injection,Java,Security,Ldap,Code Injection,如何使用StringEscapeUtils类保护代码不受LDAP注入漏洞的影响? 如何逃离searchBase、searchMask和sControl 不能使用,因为这只会转义和取消转义Java、Java脚本、HTML和XML的字符串 您应该使用肯定的验证方案来确保LDAP查询只包含安全字符。在某些情况下,您可以转义特殊字符,但这与HTML和Javascript转义不一致。退房 try { do { NamingEnumeration<SearchResult> answer =

如何使用StringEscapeUtils类保护代码不受LDAP注入漏洞的影响? 如何逃离searchBase、searchMask和sControl

不能使用,因为这只会转义和取消转义Java、Java脚本、HTML和XML的字符串

您应该使用肯定的验证方案来确保LDAP查询只包含安全字符。在某些情况下,您可以转义特殊字符,但这与HTML和Javascript转义不一致。退房

try {
do {


NamingEnumeration<SearchResult> answer = null;
try {
   answer = ctx.search(searchBase, searchMask, scontrols);
   printSearchEnumeration(answer);
   if (maxSize == 0)
     exceedLimit = false;
   else {
     if (list.size() >= maxSize)