我正在使用 ldap3 库编写一些 python3 代码,并且试图防止 LDAP 注入。OWASP 注入预防备忘单建议使用安全/参数化 API(除其他外)。但是,我在 ldap3 文档中找不到用于编写搜索查询的安全 API 或安全方法。文档中的大多数搜索查询都使用硬编码字符串,如下所示:
conn.search('dc=demo1,dc=freeipa,dc=org', '(objectclass=person)')
我试图避免以类似的方式编写查询:
conn.search(search, '(accAttrib=' + accName + ')')
此外,文档中似乎没有提及“注入”或“转义”或类似概念。有谁知道这个库中是否完全缺少这个,或者是否有一个类似的 Python 库提供安全/参数化 API?或者有没有人遇到过并解决过这个问题?
最后一点:我已经看到其他 StackOverflow 问题指出如何使用白名单验证或转义作为防止 LDAP 注入的一种方式,我计划实施它们。但如果可能的话,我更愿意使用所有三种方法。