LDAP未授权访问学习
LDAP未授权访问学习
一、LDAP
介绍
LDAP的全称为Lightweight Directory Access Protocol(轻量级目录访问协议), 基于X.500标准, 支持 TCP/IP。
LDAP目录为数据库,通过LDAP服务器(相当于DBMS)处理查询和更新, 以树状的层次结构来存储数据,相对关系型数据库, LDAP主要是优化数据读取的性能,适用于比较少改变、跨平台的信息。
LDAP属性
| 属性 | 全名 | 描述 |
|---|---|---|
| dn | distinguished name | 唯一标识名,类似于绝对路径,每个对象都有唯一标识名。 例如:uid=tester,ou=People,dc=example,dc=com |
| rdn | relative | 相对标识名,类似于相对路径。 例如:uid=tester |
| uid | user id | 通常指用户登录名。 例如:uid=tester |
| sn | sur name | 通常指一个人的姓氏。 例如:sn: Su |
| giveName | 通常指一个人的名字。 例如:giveName: Aldwin | |
| I | 通常指一个地方的地名。 例如:I: Beijing | |
| objectClass | objectClass是特殊属性,包含数据存储的方式以及相关属性信息。 | |
| dc | domain component | 通常指定一个域名。 例如:dc=example,dc=com |
| ou | organization unit | 通常指定一个组织单元的名称。 例如:ou=people,dc=example,dc=com |
| cn | common name | 通常指一个对象的名称。如果是人,需要使用全名。 |
| c | country | 一个二位的国家代码。 例如:CN、US、HK、JP等。 |
二、LDAP&phpldapadmin搭建
Ubuntu系统搭建LDAP服务及web端管理服务phpldapadmin
参考文章:
https://my.oschina.net/u/2496664/blog/801996
上面文章写的很详细,有些步骤由于可能版本更新而有微小的差异。
比如不用选择数据库;注意编辑配置文件的时候不需要改注释内的东西,改注释外的代码即可。下图为完成界面。

三、LDIF文件
关于LDIF文件:
LDIF 完全独立于在所有特定目录中使用的储存格式,LDIF 通常用于从 LDAP 服务器导出目录信息或将数据导入 LDAP 服务器。
demo
dn: dc=Zh1z3ven,dc=com
objectclass: top
dc: Zh1z3ven
dn: ou=People,dc=Zh1z3ven,dc=com
objectclass: organizationalUnit
ou: People
dn: uid=Zh1z3ven,ou=People,dc=Zh1z3ven,dc=com
uid: Zh1z3ven
objectClass: inetOrgPerson
userPassword: 111111
sn: Zh
cn: Zh1z3ven Zh
四、LDAP未授权漏洞
0x01 产生原因
未对LDAP的访问进行密码验证,导致未授权访问。
这一般是大部分LDAP服务出现此漏洞的主要原因,导致可以使用ldapbrowser直接连接,获取目录内容。
0x02 简述
比如我上面搭建好的环境明明是有密码123456的,但是利用ldapbrowser可以直接读取到目录内容而跳过了web端那种密码验证的方式
注意Anonymous bind那里要勾选上,因为默认的LDAP服务都是开启匿名访问的,但是只能进行read和search操作,不可以删除和修改。


如需指定用户则需要在下图红框内指定cn和相应的password

五、修复建议
0)关于如何禁止LDAP匿名访问:
https://www.cnblogs.com/rusking/p/4936341.html
1)修改ldap的acl,不允许匿名访问。
2)根据业务设置ldap访问白名单或黑名单。
LDAP未授权访问学习的更多相关文章
- 关于docker remote api未授权访问漏洞的学习与研究
漏洞介绍: 该未授权访问漏洞是因为docker remote api可以执行docker命令,从官方文档可以看出,该接口是目的是取代docker 命令界面,通过url操作docker. docker ...
- Memcache未授权访问漏洞利用及修复
Memcached是一套分布式的高速缓存系统.它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的.正因为内存中数据的读取远远大于硬盘,因此可以用来加速应用的访问.本文 ...
- Redis未授权访问漏洞复现及修复方案
首先,第一个复现Redis未授权访问这个漏洞是有原因的,在 2019-07-24 的某一天,我同学的服务器突然特别卡,卡到连不上的那种,通过 top,free,netstat 等命令查看后发现,CPU ...
- [Shell]Redis未授权访问反弹shell
原作者:Cream 文章出处: 贝塔安全实验室 0x01 Redis未授权访问反弹shell Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value ...
- Springboot之actuator未授权访问
copy 子杰的哈,懒的写了 0x01 未授权访问可以理解为需要授权才可以访问的页面由于错误的配置等其他原因,导致其他用户可以直接访问,从而引发各种敏感信息泄露. 0x02 Spring Boot ...
- rsync未授权访问漏洞复现
rsync未授权访问漏洞简介 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问r ...
- Redis未授权访问漏洞复现与利用
漏洞简介 Redis默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样将会将Redis服务暴露到公网上,如果在没有设置密码认 ...
- mongodb未授权访问漏洞
catalogue . mongodb安装 . 未授权访问漏洞 . 漏洞修复及加固 . 自动化检测点 1. mongodb安装 apt-get install mongodb 0x1: 创建数据库目录 ...
- Redis未授权访问漏洞分析
catalog . Redis简介 . 漏洞概述 . 漏洞利用方式 . 修复方式 1. Redis简介 Relevant Link: http://www.cnblogs.com/LittleHann ...
随机推荐
- php+swoole多线程的操作
多个任务同时执行 比如,我们要对已知的用户数据进行判断,是否需要发送邮件和短信,如果需要发送则发送. 不使用多进程时,我们首先判断是否发送邮件,如果需要则发送:然后再判断是否需要发送短信,如果需要则发 ...
- [小工具] chrome上日语翻译工具
rikaikun -> 日语 "理解君" 下载地址: https://chrome.google.com/webstore/detail/rikaikun/jipdnfibh ...
- SQL关联子查询
SQL关联子查询执行顺序: 1.先取到主查询中的相关数据,一次取一行主查询的数据 2.然后传入子查询,进行子查询 3.最后做主查询where筛选,注意子查询的where条件同样需要加在主查询后 参考: ...
- Cobbler自动部署装机 轻松解决装机烦恼
Cobbler自动部署装机一.实验准备二.搭建步骤1.导入epel源2.安装Cobbler以及其相关服务软件包3.修改Cobbler 主配置文件4.启动相关服务并关闭防火墙和selinux5.使用co ...
- C语言:结构体应用
#include <stdio.h> #include <stdlib.h> #include <assert.h> typedef struct student{ ...
- apt-key Debian packages密钥管理命令
adv子命令 Pass advanced options to gpg. With adv --recv-key you can e.g. download key from keyservers ...
- Ubuntu 18.04 开启 root 账号并允许远程连接
转载:https://blog.csdn.net/u010766726/article/details/105376461 以普通用户登录系统 通过 "终端" 操作 普通用户 – ...
- CentOS下 Django部署 nginx+uWSGI+Django(二)
该篇内容承接CentOS下 Django部署 uWSGI+Django(一),细节流程可参考此篇内容. 1. 当前系统 CentOS Linux release 7.6.1810 Python 2.7 ...
- 关于java.lang.IllegalMonitorStateException异常说明(四)
1.异常原因及解释 首先你要了解这个异常为什么会抛出,这个异常会在三种情况下抛出:1>当前线程不含有当前对象的锁资源的时候,调用obj.wait()方法;2>当前线程不含有当前对象的锁资源 ...
- K8S系列第三篇(Docker网络)
目录 docker 网络 Docker 的四种网络模 一.网络基础 1.网络名称空间介绍 2.创建一个命名空间 1)Veth设备对 2)Veth设备操作 1> 创建Veth设备对 2> 绑 ...