有人问过这个问题
before
id
它是一个可能来自web表单或其他东西的字符串,不能完全信任。
DirectorySearcher search = new DirectorySearcher(new DirectoryEntry());
search.Filter = "(&(objectClass=user)(employeeid=" + id + "))";
search.PropertiesToLoad.Add("mail");
search.PropertiesToLoad.Add("telephonenumber");
SearchResult sresult = search.FindOne();
如您所见,输入一个
身份证件
OWASP considers this
成为一个严重的弱点。预防这种情况的最佳现代方法是什么?
我不想有自己的代码
like this
AntiXSS
图书馆:
string encoded = Microsoft.Security.Application.Encoder.LdapFilterEncode(id);
但是
it appears
不再维护此库:
在.NET4.0中,框架中包含了AntiXSS的一个版本,并且
可以通过配置启用。在ASP.NETv5基于白名单
源代码和安装程序将保持在线,允许用户使用
.NET的早期版本,以启用另一种基于白名单的
制造。
很多答案都指向
LinqtoAD
免责声明
这个项目是关于实现自定义LINQ的一个基本示例
行为。最欢迎用户通过
此网站上的问题跟踪程序。
什么是现代方法?在较新版本的.NETFramework中是否有任何东西可以减轻LDAP注入?