黑客接单网,一个诚信可靠的黑客在线接单平台网站

标题: LDAP注入——绕过认证与目录遍历 [打印本页]

作者: admin    时间: 昨天 23:45
标题: LDAP注入——绕过认证与目录遍历
LDAP注入——绕过认证与目录遍历
摘要:轻量目录访问协议(LDAP)常用于企业用户认证和组织架构存储。LDAP注入攻击指黑客在LDAP查询中插入特殊字符,改变查询语义,从而绕过登录、越权查看其他用户条目甚至修改目录。本文将剖析LDAP过滤器语法的脆弱点,演示&、|、!以及空值绑定攻击,并提供转义库、白名单输入等防御方案。
关键词:黑客网站攻击;LDAP注入;渗透测试;目录服务安全;绕过认证

一、引言
许多内部系统(如VPN、邮件系统)使用LDAP进行身份验证。当登录表单将用户名/密码直接拼接到LDAP过滤器中时,黑客可输入*或)(uid=*等字符串改变逻辑,以第一个用户身份登录。LDAP注入危害包括未授权访问和信息泄露。
二、LDAP注入原理2.1 LDAP过滤器语法
过滤器例如 (&(uid=username)(userPassword=password))。其中特殊字符有:( ) & | ! = ~ * \ / 等。
2.2 登录绕过示例
危险代码(Python ldap3):
[size=12.573px]python



search_filter = "(&(uid=" + username + ")(userPassword=" + password + "))"

攻击者输入 admin)(! 作为用户名,密码任意,过滤器变成:
(&(uid=admin)(!)(userPassword=xxx)) → (!) 永远为假,但LDAP可能会出错或返回所有条目(取决于实现),从而绕过。
更典型的绕过:用户名 * ,密码 any → (&(uid=*)(userPassword=any)),如果存在任意用户且密码校验较弱,可能直接成功。
三、高级利用四、防御措施4.1 输入转义
所有语言都有LDAP转义函数:PHP的ldap_escape,Python的ldap.filter.escape_filter_chars,Java的LdapEncoder.nameEncode。
4.2 白名单输入
对于用户名,只允许字母数字和下划线;对于密码,不应参与过滤器构建,应单独获取条目后比对密码哈希。
4.3 使用参数化查询
类似SQL的参数化查询,LDAP可通过SearchRequest设置参数,但不是所有库支持。尽量使用预处理方式。
五、检测方法六、总结
LDAP注入可导致黑客绕过企业认证。防御核心:对用户输入进行正确的LDAP转义,并将密码验证移到应用程序中而非过滤器内。
下一篇:XPath注入攻击。






欢迎光临 黑客接单网,一个诚信可靠的黑客在线接单平台网站 (https://www.heike666.com/) Powered by Discuz! X3.3