security - 防止 LDAP 注入(inject)

标签 security ldap sanitization

我正在开发第一个查询 LDAP 的桌面应用程序。我在 unix 下使用 C 语言工作并使用 opends,而且我是 LDAP 的新手。经过一段时间的了解后,我注意到用户可以通过注入(inject)恶意代码来更改 LDAP 查询。
我想知道哪些清理技术是已知的,不仅适用于 C/unix 开发,而且适用于更一般的术语,即 Web 开发等。
我认为转义等号和分号就足够了,但不确定。

这里有一小段代码,以便我可以更清楚地说明问题:

 String ldapSearchQuery = "(cn=" + $userName + ")";
 System.out.println(ldapSearchQuery); 

显然,我确实需要清理 $userName,如 OWASP ARTICLE 中所述。

最佳答案

OWASP 是一个很好的安全指南,我经常使用它,并且有示例代码(Java 语言,但你应该能够翻译): http://www.owasp.org/index.php/Preventing_LDAP_Injection_in_Java

此外,这里还有一个 Active Directory 特定引用: http://www.rlmueller.net/CharactersEscaped.htm

关于security - 防止 LDAP 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3028770/

相关文章:

c++ - C++ 中的 HTML 清理

security - JWT 和 OAuth2 - 服务器是否存储 token ?以及它们如何安全/黑客安全?

android - Android 应用程序中的静态信息在哪里安全保存?

javascript - 如何在 Angular 8 应用程序中添加移动访问 token ?

java - Tomcat 可以使用 JWT token 吗

javascript - 如何从 JS 中的字符串中去除坏字符?

security - Ephemeral Diffie-Hellman 需要证书吗?

java - 配置ldap以授权用户

php - Symfony:针对 LDAP 服务器对用户进行身份验证,但仅当用户名位于自定义数据库表中时才允许登录

php - 如何为 Javascript array() 使用准备 PHP 变量?