Mat*_*ias 19 security sanitization ldap
我正在研究第一个查询LDAP的桌面应用程序.我正在使用unix并使用opends在C中工作,而且我是LDAP的新手.经过一段时间的努力,我注意到用户可以通过注入恶意代码来改变LDAP查询.
我想知道哪些消毒技术是已知的,不仅用于C/unix开发,而且用于更一般的术语,即web开发等.
我认为逃避等于和分号就足够了,但不确定.
这是一小段代码,所以我可以更清楚地说明这个问题:
String ldapSearchQuery = "(cn=" + $userName + ")";
System.out.println(ldapSearchQuery);
Run Code Online (Sandbox Code Playgroud)
显然我需要清理$ userName,如本OWASP文章中所述
Tru*_*ood 11
OWASP是一个很好的安全指南,我经常使用,并有示例代码(在Java中,但你应该能够翻译):http: //www.owasp.org/index.php/Preventing_LDAP_Injection_in_Java
此外,这是一个Active Directory特定的参考:http: //www.rlmueller.net/CharactersEscaped.htm