作为身份验证过程的一部分,我们System.DirectoryServices.DirectoryEntry
根据用户输入的用户名和密码构建一个:
var de = new DirectoryEntry(ldapPathFromConfig, typedUserName, typedPassword, AuthenticationTypes.ReadonlyServer|AuthenticationTypes.Secure);
但是当我们通过Checkmarx运行代码时,它声称存在“LDAP 注入”漏洞typedUserName
,typedPassword
因为它们没有经过清理。我不明白为什么,因为根据定义,密码可以是任何东西......而且使用的构造函数显然是为了接受一个username
和password
作为第二个和第三个参数。