http://mdsec.net/employees/42/
注解
这种注入第二个搜索过滤器的技巧也可针对未使用任何逻辑运算符的简单匹配条件,只是后端LDAP接受多个搜索过滤器。
第二种针对合取查询的攻击利用许多LDAP服务在处理NULL字节方面存在的漏洞。由于这些服务通常以本地代码编写,因此,搜索过滤器中的NULL字节将立即终止字符串,NULL之后的任何字符将被忽略。虽然LDAP本身并不支持注释(在SQL中可以使用--注释符添加注释),但是,攻击者可以利用它在处理NULL字节上的这个漏洞,从而“注释掉”查询的剩余部分。
在前一个示例中,攻击者可以提交以下输入:
应用程序服务器会将%00序列解码成原义NULL字节,因此,如果将以上输入嵌入到搜索过滤器中,查询将变为:
由于这个过滤器在NULL字节处被截短,在LDAP看来,其中只包含一个通配符条件,因此,应用程序还会返回伦敦地区以外的部门的所有雇员资料。