gpt4 book ai didi

java - Checkmarx、LDAP 注入(inject)和 ESAPI.encodeForLDAP

转载 作者:行者123 更新时间:2023-12-02 02:33:58 26 4
gpt4 key购买 nike

Checkmarx 正确地将本声明标记为 LDAP_Injection。

String filter = "(&(objectclass=accessGroup)(member=cn=*)(dsApplicationName=" + application + "))";

使用 ESAPI 编码器,我希望这可以解决问题:

String saneApplication = org.owasp.esapi.reference.DefaultEncoder.getInstance().encodeForLDAP(application);
String filter = "(&(objectclass=accessGroup)(member=cn=*)(dsApplicationName=" + saneApplication + "))";

但 Checkmarx 仍将其标记为 LDAP_Injection

不知道如何正确解决这个问题。

谢谢托马斯

最佳答案

您可以使用 CxAudit 覆盖在查询中用作清理程序的函数。
例如。有 Find_LDAP_Sanitize() 的项目/公司覆盖,并包括(除了原始的)ESAPI 函数 - 选择方法调用,并将它们添加到原始列表中。

附注已经要求将其添加到默认值中,但我不知道什么时候会:-)

P.P.S。 OWASP ESAPI 几乎已被 OWASP Encoder 项目取代,但它并不真正支持 LDAP 编码。
从长远来看,您可能需要重组代码以避免任何类型的串联。

关于java - Checkmarx、LDAP 注入(inject)和 ESAPI.encodeForLDAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46669128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com