`

LDAP查询运算符

    博客分类:
  • LDAP
阅读更多

使用过滤器框可以构建查询。下表列出了最常用的 LDAP 查询运算符。

&	逻辑与
|	逻辑或
!	逻辑非
=	等于
~=	约等于
>=	等于或大于
<=	小于或等于
					

例如,如果您要搜索名为 John 并且姓为 Smith 或 Jones 的所有用户,则过滤器类似于下面这种形式:

(&(objectClass=user)(givenName=John)(|(sn=Smith)(sn=Jones)))
					

符号 !(“逻辑非”运算符)可以应用于单个条件,如以下示例所示:

(&(objectClass=user)(sn=Jones)(!givenName=John)(!givenName=Jane)(!logonCount<=100))
					

上述过滤器可查找姓为 Jones,名既不是 John 也不是 Mary 并且登录次数不少于 101 次的用户。

查询还支持星号通配符。以下搜索将返回姓以字母 J 开头的所有用户:

(&(objectClass=user)(sn=j*))
					

LDP 实用工具搜索操作不区分大小写,您可以在开头和结尾使用星号(*字符串*)来查找值中间的子字符串。完成此类搜索所需的时间要长很多。如果可能,请在开头或结尾使用通配符,但不要同时使用。

您可以使用通配符自身来测试是否存在给定的属性。如果您要查找所有不具有 Exchange Server 邮箱的用户,您可以使用以下查询来进行查找,因为这些用户缺少 msExchHomeServerName 值:

(&(objectClass=user)(!msExchHomeServerName=*))
					

查询中的转义字符是反斜杠 (\)。它与 * ( ) 和 NUL 都是保留字符。要搜索作为属性值的一部分的保留字符,必须在这些保留字符前面放置转义字符以及下列与各个保留字符相对应的数字代码之一:

*     2a
(     28
)     29
\     5c
NUL   00
					

例如,如果您要搜索显示名称以右括号字符结尾的所有用户,可使用以下搜索:

(&(objectClass=user)(displayName=*\29))
					

如果您要查找主目录为 G:\Accounting 的用户,可使用以下搜索:

(&(objectClass=user)(home-directory=G:\5cACCOUNTING*))
					

在 LDAP 查询中,反斜杠始终表示转义字符,而永远不会是实际的反斜杠。

分享到:
评论

相关推荐

    测试LDAP注入.docx

    每个 LDAP 查询使用一个或多个搜索过滤器,它们决定了请求返回的目录项,搜索过滤器可以使用各种逻辑运算符来表示复杂的搜索条件,常用的搜索过滤器有简单匹配条件、析取查询、合取查询等。 但是,如果用户提交的...

    LDAP rfc文档 中英文对照

    9. **性能优化**:通过索引、缓存和引用等技术,LDAP能够高效处理大量查询,提高服务性能。 10. **应用实例**:LDAP常用于企业身份验证、邮件地址簿、用户权限管理、设备配置等多种场景。例如,OpenLDAP和Active ...

    LDAP使用手册

    4. **搜索操作**: LDAP支持多种搜索操作,如基本查询、过滤器、范围限制等,以满足不同需求的查找。 **二、LDAP编程技术** 1. **API接口**: 开发人员可以使用各种编程语言(如Java、Python、C#)的LDAP API来与...

    SANS AUD 507 Active Directory Cheat Sheet_1.pdf

    文档中提到了LDAP查询的基础,包括使用逻辑运算符(例如AND和OR)构建查询,以及LDAP查询的前缀表示法。 6. 时间戳转换 文档还提供了一个Excel公式来将Windows LDAP时间戳转换成一个可读的日期格式,这在处理Active...

    SANS AUD507 Active Directory Cheat Sheet.pdf

    在AD中,特定的LDAP查询规则可以通过Bitwise运算符来指定。例如,文档中提到了`*.*.***.***.*.*.***`代表逻辑AND,`*.*.***.***.*.*.***`代表逻辑OR。这些LDAP规则ID(OIDs)用于构建复杂的查询过滤器,来控制查询...

    XACML策略语言规范

    XACML 语言还支持多种数据类型、函数和逻辑运算符,能够满足复杂的访问控制需求。 XACML 语言的核心组件包括 Policy、PolicySet、Rule、Condition 和 Target 等。Policy 是最基本的策略单元,定义了访问控制规则。...

    精通PHP编程技术

    首先介绍了PHP的基础知识,包括变量、数据类型、运算符、表达式、语句、函数、数组、对象和面向对象编程、字符串操作和正则表达式等。接着,书中深入探讨了PHP在Web环境下的编程实践,如非关系型数据库、SQL数据库...

    JAVA安全编码手册.pdf

    此外,文档还指出了其他类型的注入攻击,如XPATH注入、LDAP注入和OS命令注入等。这些攻击的共同点在于,它们都利用了应用程序在处理输入数据时的不当做法,从而攻击者有机会在数据中嵌入恶意指令。 Java编码中常见...

    软件评测题库.docx

    程序语言基础是软件测试的核心技术,包括编程语言的基本概念、数据类型、变量、运算符、控制结构、函数等。软件测试人员需要具备良好的编程语言基础知识,以便更好地理解软件产品的实现机理。 3. 操作系统 操作...

    j2ee攻略(经典)

    它允许开发者以统一的方式访问不同的命名和目录服务,如DNS、LDAP等。在EJB中,JNDI常用于查找和绑定EJB组件或其他资源。 **1.4 下载与安装JDK** JDK(Java Development Kit)是开发Java应用程序所必需的软件包,...

    Python库 | yara_python-3.9.0-cp27-cp27m-win32.whl

    这些规则可以包含字符串匹配、条件语句和逻辑运算符,使得对复杂模式的查找变得简单。 在`yara-python`库中,你可以通过编写YARA规则来定义你想要查找的模式,这些规则可以是静态的(如特定文件头或PE结构),也...

    openshift-post-install:安装后第2天OpenShift 4的任务

    入口运算符 替换默认的IngressController TLS证书。 调整副本。 调整吊舱位置并应用基础设施节点公差。 安装操作员 为操作员列表创建命名空间,OperatorGroup和Subscription资源。 标签节点 为节点分配一组标签和...

    studio-3t-x64.zip

    Studio 3T免费版是一款非常高效的MongoDB工具,由原MongoChef改名升级,可以为大家更优质...Studio 3T支持SSH,SSL,X.509,LDAP(企业版),Kerberos(企业版),且完全支持MongoDB 3.4(只读视图,归类,新的聚合运算符)。

    经典收藏最全php5.0查询手册

    15. 运算符 16. 流程控制 17. 函数 18. 类与对象(PHP 4) 19. 类与对象(PHP 5) 20. 异常处理 21. 引用的解释 IV. 安全 22. 简介 23. 总则 24. 以 CGI 模式安装时 25. 以 Apache 模块安装时 26. 文件系统安全 27. ...

    php中文黄金手册

    10. 运算符:包括算术、比较、逻辑、位、赋值等运算符。 11. 流程控制:涉及if-else、switch、循环(for, while, do-while, foreach)等结构。 12. 函数:函数的定义、调用、参数传递、返回值等。 13. 类与对象:...

    PHP入门到精通

    3.6PHP运算符 3.7PHP的表达式 3.8PHP函数 3.9PHP编码规范 4.流程控制语句(教学录像:31分10秒) 4.1条件控制语句 4.2循环控制语句 字符串操作(教学录像:1小时18分13秒) 5.1字符串简介 5.2单引号和双引号的区别 ...

Global site tag (gtag.js) - Google Analytics