3

我正在尝试了解 OR LDAP 查询(特别是盲 LDAP 注入)。

我是否正确地说,为了推断值 objectClass 可以假设(此处U)以下过滤器发送到 LDAP 服务器,是否正确?

(|(objectClass=void)(objectClass=U))(&(objectClass=void)(type=P*))

假设 Web 应用程序返回一个对象,我可以肯定地说 LDAP 目录包含一个名为 U 的类别吗?...我的推理是否正确?

非常感谢

4

2 回答 2

1

我的推理正确吗?

不,“或”就是“或”。正如您所写的那样,(i)对象类将是无效的(无论这意味着什么),或者(ii)对象类将是 U。

过滤器的其余部分无效。有一个内部OR过滤器和一个内部AND过滤器,但没有外部运算符来说明它们是如何连接的。例如,过滤器解析器可能有理由在第一个停止)),因为没有有效的解析继续。

于 2012-12-30T19:49:20.800 回答
-1

如果您的目标是了解 LDAP 查询中的 OR 运算符(本身),我发现文章“ LDAP 查询中的 OR 运算符”非常有帮助:

总而言之,“&”是“与”运算符,“!” 是“非”运算符,“|” 是“或”运算符,“*”是通配符。条件可以嵌套在括号中。通配符不能用于 DN 属性。

示例(|(givenName=foo*)(middlename=foo*)(mail=foo*))实现一个三重OR回馈所有出现的地方,其中foo出现在给定名称、中间名或邮件地址中。有关更多详细信息,请参阅帖子“ LDAP 多重或语法”。

于 2017-08-25T10:17:23.453 回答