Xygeni 安全术语表
软件开发和交付安全术语表

什么是 LDAP 注入?

您知道什么是 LDAP 注入吗?它是一种代码注入技术,针对的是那些使用未经过滤的用户输入构建注入查询的应用程序。LDAP(轻量级目录访问协议)通常用于目录查找,例如验证用户身份或检索组织数据。当攻击者提供包含 LDAP 元字符的特制输入时,他们可以修改目录查询的逻辑,从而以不正当的方式访问或更改数据。实际上,当过滤器根据用户控制的值动态构建,且未进行输入过滤或验证时,就会出现 LDAP 注入漏洞。

工作原理:LDAP 注入攻击的机制 #

LDAP 注入攻击是指用户提供的数据被不安全地合并到 LDAP 查询中。考虑一个 login 过滤器:

(&(cn=” + 用户名 + “)(userPassword=” + 密码 + “))

如果攻击者提交的是 * 或终止符序列而不是有效的用户名,过滤器逻辑就会崩溃,变成更广泛的评估或始终为真的条件,从而有效地绕过身份验证。这正是这种注入的运作方式:注入 LDAP 逻辑来破坏预期的行为。

因此,LDAP 注入漏洞源于通过不受信任的输入构建查询,其中包括特殊字符(如括号、引号和通配符),这些字符会重塑查询语义。

此外,当应用程序代码不安全地将用户数据复制到 LDAP 查询中,并且无法中和元字符时,就会发生这种情况,从而使攻击者中断或操纵查询逻辑、访问未经授权的数据或更改执行流程 

为什么 LDAP 注入攻击很重要? #

LDAP 注入攻击可能会破坏身份验证、泄露敏感信息,甚至修改目录结构。Imperva 强调,威胁行为者可能会破坏身份验证流程、查看或修改用户名/密码、安装恶意软件并提升权限,从而导致数据泄露、声誉受损和财务损失。

LDAP 注入漏洞可能会通过互连服务级联,尤其是在 enterprise 使用 LDAP 进行单点登录 (SSO)、授权或协调用户身份和权限的环境。

现有 LDAP 注入漏洞的迹象 #

在网络安全中,治理是指领导力、政策和关键危险信号:

  • 代码将用户输入直接连接到 LDAP 过滤器中。
  • 缺乏输入验证或转义。
  • 在输入中使用 () * & | = 等特殊字符不受限制。
  • 意外的查询结果,例如,无论凭证如何,身份验证都会成功,或者在最少输入的情况下返回广泛的用户列表。

用户输入的错误构造查询可能允许未经授权的数据检索或逻辑绕过。

如何减轻这些影响? #

缓解 LDAP 注入漏洞需要:

a. 输入验证/允许列表

仅接受已知的安全字符或模式。拒绝或过滤控制字符,例如 *、(、)、&、|、=。PortsWigger 建议阻止包含 LDAP 元字符的输入,或强制执行严格的字母数字模式。

b. 转义/编码

使用 LDAP 特有的转义函数:DN 上下文的可分辨名称转义,以及谓词的搜索过滤器转义。OWASP 提供了详细的 预防备忘单及定制指导

c. 参数化查询/安全 API

避免通过字符串连接来构建过滤器。使用支持参数绑定的 LDAP 库或过滤器构建 API(例如,UnboundID SDK 的 Filter.createANDFilter(…))来确保用户输入被视为数据,而不是语法。

d.最小特权原则 (PoLP)

绑定 LDAP 并设置最低访问权限。即使发生注入,也能限制攻击者的操作。Underscore PoLP 与 零信任 和 MFA 来限制影响。

e. 安全框架/库

使用自动转义或清理输入的框架并阻止原始查询构建。

f. 代码分析工具

在 .NET 中,使用 CA3005 分析检测到达 LDAP 语句的不受信任的 HTTP 输入;通过清理、转义或允许列出输入来修复。

g. 测试(静态、动态、渗透测试)

集成静态 AppSec (SAST) 和动态 (达斯特) 扫描以捕获静态和运行时的 LDAP 注入漏洞。

h. 日志记录、监控、警报

检测异常的过滤模式、失败的尝试或意外的查询结构。Semperis 建议监控 Active Directory 中是否存在不规则的 LDAP 查询或元数据操作。

词汇表摘要表 #

术语
LDAP 注入 一种利用 LDAP 过滤器中未经清理的用户输入的代码注入技术。
什么是 LDAP 注入 使用不受信任的输入构建 LDAP 查询而产生的漏洞。
LDAP注入攻击 实际利用的是输入改变 LDAP 查询逻辑或获得访问权限。
LDAP注入漏洞 代码级缺陷导致 LDAP 注入攻击。

为什么这在 DevSecOps 中很重要? #

对于 DevSecOps 团队预防 LDAP 注入漏洞对于确保身份验证流程和目录支持的访问控制至关重要。持续集成 pipeline必须包含针对不安全查询构造的静态代码检查,以及针对过滤器操作的动态测试。安全管理员必须强制使用转义库、参数化 API,并遵守最低权限和输入验证策略。

加强 DevSecOps Pipeline与 Xygeni 合作 #

现在您已经了解了什么是 LDAP 注入,您也知道要保护现代应用程序免受 LDAP 注入的攻击,需要的不仅仅是代码级​​别的修复。DevSecOps 团队必须在整个 软件开发生命周期, 从代码到构建到部署。

像工具一样 西吉尼 通过集成静态分析,使团队能够尽早发现注入风险, IaC 扫描,并确保策略执行直接进入 CI/CD 工作流程。通过持续监控不安全的查询构造、依赖风险或错误配置,Xygeni 有助于在 LDAP 注入攻击影响生产环境之前将其阻止。

结合 Xygeni 等平台,可将安全性与开发速度结合起来,提供实时可见性、自动控制和针对安全设计工程量身定制的补救指导。

Xygeni 产品套件概述

开始试用

免费开始使用。
不需要信用卡。

一键开始:

这些信息将按照 服务条款 以及 隐私政策

Xygeni 免费试用版截图