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未授权访问学习的更多相关文章

  1. 关于docker remote api未授权访问漏洞的学习与研究

    漏洞介绍: 该未授权访问漏洞是因为docker remote api可以执行docker命令,从官方文档可以看出,该接口是目的是取代docker 命令界面,通过url操作docker. docker ...

  2. Memcache未授权访问漏洞利用及修复

    Memcached是一套分布式的高速缓存系统.它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的.正因为内存中数据的读取远远大于硬盘,因此可以用来加速应用的访问.本文 ...

  3. Redis未授权访问漏洞复现及修复方案

    首先,第一个复现Redis未授权访问这个漏洞是有原因的,在 2019-07-24 的某一天,我同学的服务器突然特别卡,卡到连不上的那种,通过 top,free,netstat 等命令查看后发现,CPU ...

  4. [Shell]Redis未授权访问反弹shell

    原作者:Cream 文章出处: 贝塔安全实验室 0x01 Redis未授权访问反弹shell Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value ...

  5. Springboot之actuator未授权访问

    copy 子杰的哈,懒的写了 0x01  未授权访问可以理解为需要授权才可以访问的页面由于错误的配置等其他原因,导致其他用户可以直接访问,从而引发各种敏感信息泄露. 0x02 Spring Boot ...

  6. rsync未授权访问漏洞复现

    rsync未授权访问漏洞简介 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问r ...

  7. Redis未授权访问漏洞复现与利用

    漏洞简介 Redis默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样将会将Redis服务暴露到公网上,如果在没有设置密码认 ...

  8. mongodb未授权访问漏洞

    catalogue . mongodb安装 . 未授权访问漏洞 . 漏洞修复及加固 . 自动化检测点 1. mongodb安装 apt-get install mongodb 0x1: 创建数据库目录 ...

  9. Redis未授权访问漏洞分析

    catalog . Redis简介 . 漏洞概述 . 漏洞利用方式 . 修复方式 1. Redis简介 Relevant Link: http://www.cnblogs.com/LittleHann ...

随机推荐

  1. python 正则表达式 中级

    1.子表达式 将几个字符的组合形式看做一个大的字符,例如匹配IP地址,形如 127.0.0.1 答案一:p1='\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' pattern1 ...

  2. 协程与Swoole的原理,相关应用以及适用场景等

    什么是协程 协程(Coroutine)也叫用户态线程,其通过协作而不是抢占来进行切换.相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低.协程是进程的补充,或者是互补关系. 要 ...

  3. Word转PDF的VBA脚本

    将以下内容复制粘贴在一个txt中,修改txt后缀为".vbs" On Error Resume Next Const wdExportFormatPDF = 17 Set oWor ...

  4. java基础---类和对象(4)

    一. static关键字 使用static关键字修饰成员变量表示静态的含义,此时成员变量由对象层级提升为类层级,整个类共享一份静态成员变量,该成员变量随着类的加载准备就绪,与是否创建对象无关 使用st ...

  5. dp 套 dp扯谈

    1.[扯谈概念] \(dp\) 套 \(dp\) 其实也就是 \(dp\) . 这里就定义下面两个概念: 内层 \(dp\) 表示的是被套在里面的那个 \(dp\) 外层 \(dp\) 表示的是最外面 ...

  6. python使用笔记14--商品管理小练习

    1 import json 2 import pymysql 3 IP = '127.0.0.1' 4 PORT = 3306 5 USER_NAME = 'root' 6 PASSWORD = '1 ...

  7. MQTT 3 ——MQTT与Spring Mvc整合

    本篇记录一下MQTT客户端与Spring Mvc整合   网络上已经有很多的MQTT客户端与SpringBoot整合的技术文档,但是与Spring Mvc框架的整合文档似乎并不太多,可能是因为Spri ...

  8. ZooKeeper 分布式锁 Curator 源码 02:可重入锁重复加锁和锁释放

    ZooKeeper 分布式锁 Curator 源码 02:可重入锁重复加锁和锁释放 前言 加锁逻辑已经介绍完毕,那当一个线程重复加锁是如何处理的呢? 锁重入 在上一小节中,可以看到加锁的过程,再回头看 ...

  9. LeetCode 887. Super Egg Drop

    题目链接:https://leetcode.com/problems/super-egg-drop/ 题意:给你K个鸡蛋以及一栋N层楼的建筑,已知存在某一个楼层F(0<=F<=N),在不高 ...

  10. python之数据驱动ddt操作(方法四)

    from ddt import ddt,data,unpackfrom selenium import webdriverfrom selenium.webdriver.common.by impor ...