- 2024-10-29Spring学习笔记_15——@Resource
@Resource1.介绍@Resource注解是JSR250规范中提供的注解,主要作用就是通过JNDI技术查找依赖的组件并注入到类、字段和方法中来。默认情况下,不指定注解任何属性时,会默认按照byName的方式装配Bean对象,如果指定了name属性,没有指定type属性,则采用byName的方式装配Bean对象,如果
- 2024-10-13如何打破双亲委派机制
双亲委派底层运行过程双亲委派模型对于保证Java程序的稳定运作很重要,但它的实现却非常简单,实现双亲委派的代码都集中在java.lang.ClassLoader的loadClass()方法之中,代码简单,逻辑清晰易懂:先检查类是否已经被加载过,若没有加载则调用父加载器的loadClass0方法,若父加载器为空则
- 2024-10-08java JNDI 注入学习
javaJNDI注入学习JavaNamingDirectoryInterface,Java命名和目录接口,是SUN公司提供的一种标准的Java命名系统接口。通过调用JNDI的API应用程序可以定位资源和其他程序对象。JNDI可访问的现有目录及服务包括:JDBC(Java数据库连接)、LDAP(轻型目录访问协议)、RMI(远程方法调用)、DNS(域
- 2024-09-19Log4j2—漏洞分析(CVE-2021-44228)
目录Log4j2漏洞原理漏洞根因调用链源码分析调用链总结漏洞复现dnsrmiLog4j2漏洞原理前排提醒:本篇文章基于我另外一篇总结的JNDI注入后写的,建议先看该文章进行简单了解JNDI注入:https://blog.csdn.net/weixin_60521036/article/details/142322372提前小结说明:Log4j2(CVE-2021-4
- 2024-09-18深入理解JNDI注入—RMI/LDAP攻击
目录前言JNDI注入简单理解透过Weblogic漏洞深入理解RMI与LDAP的区别JNDI+RMI漏洞代码触发链lookup触发链JNDI+LDAP前言本篇文章初衷是在研究log4j2漏洞时候找不到一篇完整且能够真正让我理解漏洞根因的文章,导致我想写一篇通俗易懂能理解到底啥是JNDI注入,怎么lookup的。当然不
- 2024-08-20【第67课】Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网
免责声明本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。文中所涉
- 2024-08-05JNDI注入
- 2024-06-03Web网络安全-----Log4j高危漏洞原理及修复_log4j漏洞是什么
系列文章目录文章目录系列文章目录什么是Log4j?一、Log4j漏洞二、漏洞产生原因1.什么是Lookups机制2.怎么利用JNDI进行注入JNDI简介LADPRMI三、Log4j漏洞修复总结什么是Log4j?Log4j即logforjava(java的日志),是Apache的一个开源项目,通过使用Log4j,我们可以控制日
- 2024-05-28Apache Log4j2-RCE-CVE-2021-44228
ApacheLog4j2-RCE-CVE-2021-44228基本信息CVE编号:CVE-2021-44228CVSS:CVSS2.0/AV:N/AC:M/Au:N/C:C/I:C/A:C漏洞类型:远程命令执行影响产品:Apache影响版本:ApacheLog4j2.x<=2.14.1<=Log4j2.15.0-rc1漏洞描述log4j支持JNDI协议。ApacheLog4j通过定义每一条
- 2024-05-11Fastjson反序列化漏洞3:JdbcRowSetImpl利用链-JNDI注入
第二条链Fastjson的三条链,现在我们来讲第二条com.sun.rowset.JdbcRowSetImplcom.sun.rowset.JdbcRowSetImplorg.apache.tomcat.dbcp.dbcp2.BasicDataSourceFastjson的三条链,现在我们来看第二条com.sun.rowset.JdbcRowSetImplsetAutoCommit、connect、setDataSourceNameset
- 2024-05-09【攻防技术系列】-- JNDI注入
JNDI概念首先第一个问题,什么是JNDI?JNDI(JavaNamingandDirectoryInterface),是Java平台提供的一个API,它允许Java应用程序访问不同的命名和目录服务。简而言之,JNDI为Java应用提供了一种统一的方式来查询和访问外部资源,如数据库、文件系统、远程对象等。虽然有点抽象,但我
- 2024-05-06Apache Log4j2远程命令执行漏洞
目录漏洞原理复现反弹shell漏洞修复AApacheLog4j2是一个基于Java的日志记录工具,被广泛应用于业务系统开发,开发者可以利用该工具将程序的输入输出信息进行日志记录。Log4j2远程代码执行漏洞编号CVE-2021-44228。漏洞原理漏洞主要由于Log4j2在处理程序日志记录时存在JNDI入
- 2024-04-29H2 Database Console未授权访问
H2DatabaseConsole未授权访问H2database是一款java内存数据库,多用于单元测试。H2database自带一个web管理页面,在Spring开发中,如果我们设置如下选项,即可允许外部用户访问WEB管理页面,且没有鉴权;spring.h2.console.enabled=truespring.h2.console.settings.web-allow-others=t
- 2024-04-21JNDI-Injection-Exploit 下载/解决相关问题
环境:Centos8jdk1.8maven3.8.81、jdk1.8安装jdk官网:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html我选择的版本是:jdk-8u391-linux-x64.tar.gzcd/usr/local/tar-xvfjdk-8u391-linux-x64.tar.gz设置环境,在/etc/p
- 2024-04-21Java安全基础之Java Web核心技术
目录JavaEEJavaMVCServletJSPFilterJDBCRMIJNDIJavaEEJava平台有3个主要版本:JavaSE(JavaPlatformStandardEdition,Java平台标准版)JavaEE(JavaPlatformEnterpriseEdition,Java平台企业版)JavaME(JavaPlatformMicroEdition,Java平台微型版)其中JavaEE
- 2024-04-16fastjson 1.2.24 反序列化导致任意命令执行漏洞复现
前置知识今天复现了常见的fastjson反序列化漏洞,了解该漏洞需要一些前置的知识,这里总结一下:Fastjsonfastjson是一个Java的库,可以将Java对象转换为Json字符串,也可以将Json字符串转换为Java对象,Fastjson也可以操作一些Java中的对象。JNDIJNDI(JavaNamingandDirectoryInterf
- 2024-04-07Spring反序列化JNDI分析
漏洞原理Spring框架的JtaTransactionManager类中重写了readObject方法,这个方法最终会调用到JNDI中的lookup()方法,关键是里面的参数可控,这就导致了攻击者可以利用JNDI注入中的lookup()参数注入,传入恶意URI地址指向攻击者的RMI注册表服务,以使受害者客户端加载绑定在攻击者RMI注册表
- 2024-03-31绕过JDK高版本限制进行JNDI注入
前面学过了log4j2的打法,但CVE2021属实是有点久远了,打NSS搜了道java,那道题有点意思,是绕过高版本的打一个ldap,然后二次打fastjson。但是复现的时候,我配环境那里我始终有问题,感觉还是配少了
- 2024-03-29本地class序列化用绕过高版本jdk的JNDI题目
[HZNUCTF2023final]ezjava这道题,困扰许久,不是题目逻辑,而是ldap服务起不了。题目介绍:Trytofxxkit(Log4j打log4j?进网页,开局几个字,提示fastjson:1.2.48:尝试一下常用的log4j2payload打一打DNS测一下:{{urlenc(${jndi:dns://xxxxxxxxx})}}得到回显,可以看到版本为jd
- 2024-03-22Oracle WebLogic Server JNDI注入漏洞(CVE-2024-20931)复现
先从镜像站拉取OracleWebLogicServerJNDI注入漏洞(CVE-2024-20931)然后在docker中启动这个镜像即可在网页中访问,搭建网站成功使用利用工具来进行验证是否存在漏洞获取DNS查看是否有回显有回显漏洞存在创造反弹shell,先查看攻击机的ip进行反弹shell编码使用nc开启监听端
- 2024-03-18log4j2的JNDI注入简单测试
配环境的锅,这次走最基本的路子,以求maven爹别给我报错了。这里版本是java8u101。首先要知道:JDK6u141、7u131、8u121之后:增加了com.sun.jndi.rmi.object.trustURLCodebase选项,默认为false,禁止RMI和CORBA协议使用远程codebase的选项,因此RMI和CORBA在以上的JDK版本上已经无法触发
- 2024-03-18应用使用JNDI,数据库无法连接,导致的进程无法启动问题处理
起因数据库迁移,导致的ip改变,并且更换了用户密码。解决方法找到服务器应用目录,例如:/home/weblogic/Oracle/Middleware/user_projects/domains/abc进入config目录config.xml配置文件,属于中间件的整体配置,删除使用JNDI的应用的标签内容jdbc目录为weblogic的数据库配置文件重
- 2024-03-09CVE-2024-20931【复现】
漏洞编号:CVE-2024-20931一、环境准备:1台Windows主机(10.46.47.227)作为攻击机|1台centos虚拟机(192.168.172.172)作为目标机|虚拟机网络模式为nat二、搭建漏洞环境1、docker拉取镜像1.1dockerpullismaleiva90/weblogic12|我已先完成(截图丢失),大概4~5g,拉取问题:国内镜像证
- 2024-03-07java jndi
JNDI(JavaNamingandDirectoryInterface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDIAPI映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和
- 2024-02-21weblogic CVE-2024-20931分析
weblogic12.2.1.4.0安装我的环境:ubuntu22.04+weblogic12.2.1.4.0+jdk8(注:weblogic不支持OpenJDK)jdk下载安装:https://www.oracle.com/cn/java/technologies/downloads/archive/weblogic下载安装:https://www.oracle.com/middleware/technologies/weblogic-server-install