zoukankan      html  css  js  c++  java
  • 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

    上面文章写的很详细,有些步骤由于可能版本更新而有微小的差异。

    比如不用选择数据库;注意编辑配置文件的时候不需要改注释内的东西,改注释外的代码即可。下图为完成界面。

    image-20201028221900749

    三、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操作,不可以删除和修改。

    image-20201028230120087

    image-20201028225928038

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

    image-20201028230322212

    五、修复建议

    0)关于如何禁止LDAP匿名访问:

    https://www.cnblogs.com/rusking/p/4936341.html

    1)修改ldap的acl,不允许匿名访问。

    2)根据业务设置ldap访问白名单或黑名单。

  • 相关阅读:
    接口XMPPConnection
    Smack 4.3.4 API
    Tigase XMPP Server
    Openfire Meetings插件是一个包含各种Jitsi项目(如VideoBridge和Meet)的实现
    华为方舟编译器 下载 和 LiteOS Studio Setup 2019-04-16.exe SDK下载
    华为 鸿蒙系统(HarmonyOS)
    C#.NET常见问题(FAQ)-如何使用2D绘图控件ZedGraph绘制坐标轴和坐标曲线
    C#.NET常见问题(FAQ)-如何声明list的多维数组
    C#.NET常见问题(FAQ)-如何设置控件水平对齐,垂直对齐
    C#.NET常见问题(FAQ)-如何修改Form不能修改窗体大小
  • 原文地址:https://www.cnblogs.com/Zh1z3ven/p/13894171.html
Copyright © 2011-2022 走看看