Java安全之C3P0链利用与分析】的更多相关文章

Java安全之C3P0链利用与分析 0x00 前言 在一些比较极端情况下,C3P0链的使用还是挺频繁的. 0x01 利用方式 利用方式 在C3P0中有三种利用方式 http base JNDI HEX序列化字节加载器 在原生的反序列化中如果找不到其他链,则可尝试C3P0去加载远程的类进行命令执行.JNDI则适用于Jackson等利用.而HEX序列化字节加载器的方式可以利用与fj和Jackson等不出网情况下打入内存马使用. http base使用 使用也很简单,可以直接使用yso生成数据进行发送…
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JMC分析系统性能 JMC:Java Mission Control JFR:Java Flight Recorder JMC:Java Mission Control JMC打开性能日志后,主要包括7部分性能报告,分别是一般信息.内存.代码.线程.I/O.系统.事件.其中,内存.代码.线程及I/O是系统分析…
Java安全之C3P0利用与分析 目录 Java安全之C3P0利用与分析 写在前面 C3P0 Gadget http base C3P0.getObject() 序列化 反序列化 Class.forName() JNDI 利用姿势 调试分析 Hex序列化字节加载器 利用姿势 调试分析 Reference 写在前面 很久以前就听nice0e3师傅说打Fastjson可以试试C3P0,当时还不会java(虽然现在也没会多少)也就没有深究.最近调试Fastjson的漏洞,又想到了这个点,就拿出来学习下…
简介 c3p0是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能.目前,hibernate自带的连接池就是c3p0. 本文将包含以下内容(因为篇幅较长,可根据需要选择阅读): c3p0的使用方法(入门案例.JDNI使用) c3p0的配置参数详解 c3p0主要源码分析 使用例子-入门 需求 使用C3P0连接池获取连接对象,对用户数据进行简单的增删改查(sql脚本项目中已提供). 工程环境 JDK:1…
Java安全之URLDNS链 0x00 前言 在学习Java的反序列化漏洞的时候,就不得不学习他的一个利用链.很多刚刚入门的对于利用链这个词可能比较陌生.那么这里先来了解一下Java反序列化和反序列化漏洞的一个产生. 文章首发:Java安全之URLDNS链 0x01 Java反序列化 Java提供了一种对象序列化的机制,用一个字节序列表示一个对象,该字节包含对象的数据.对象的类型.对象的存储属性.字节序列写出到文件后,相当于可以持久报错了一个对象信息,这过程叫做序列化.序列化对象会通过Objec…
Java安全之Shiro 550反序列化漏洞分析 首发自安全客:Java安全之Shiro 550反序列化漏洞分析 0x00 前言 在近些时间基本都能在一些渗透或者是攻防演练中看到Shiro的身影,也是Shiro的该漏洞也是用的比较频繁的漏洞.本文对该Shiro550 反序列化漏洞进行一个分析,了解漏洞产生过程以及利用方式. 0x01 漏洞原理 Shiro 550 反序列化漏洞存在版本:shiro <1.2.4,产生原因是因为shiro接受了Cookie里面rememberMe的值,然后去进行Ba…
java 中 FIle 和 流的简单分析 File类 简单File 常用方法 创建一个File 对象,检验文件是否存在,若不存在就创建,然后对File的类的这部分操作进行演示,如文件的名称.大小等 //创建一个File 对象,检验文件是否存在,若不存在就创建然后对File package wfu; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.Scanner; pu…
这篇文章我们开始分析LinkedHashMap的源码,LinkedHashMap继承了HashMap,也就是说LinkedHashMap是在HashMap的基础上扩展而来的,因此在看LinkedHashMap源码之前,读者有必要先去了解HashMap的源码,可以查看我上一篇文章的介绍<Java集合系列[3]----HashMap源码分析>.只要深入理解了HashMap的实现原理,回过头来再去看LinkedHashMap,HashSet和LinkedHashSet的源码那都是非常简单的.因此,读…
Java EE中的容器和注入分析,历史与未来 java中的容器 java中的注入 容器和注入的历史和展望 一.java中的容器 java EE中的注入,使我们定义的对象能够获取对资源和其他依赖项的引用,而不需要直接实例化它们.通过使用将字段标记为注入点的注释之一来装饰字段或方法,可以在类中声明所需的资源和其他依赖项.然后容器在运行时提供所需的实例.注入实现了将代码和代码的依赖项的分离.注入分为资源注入和依赖注入两种. 资源注入: 通过资源注入,可以将JNDI名称空间中可用的任何资源注入任何容器管…
一.概念: 在进行java应用故障分析时,经常需要分析内存和cpu信息,也就说所谓的heap dump 和 thread dump heap dump: heap dump文件是一个二进制文件,需要工具heap analyze打卡查看,主要查看那些占用了太多堆栈空间的内存信息. thread dump: 文本文件,记录进行具体的运行信息,可以看到在那一点那一行所耗时最多,如数据库查询,长页面等,可以通过分析多个文件,查找发现问题的共同点来确认代码所在问题点. 二.利用JDK自带工具获取threa…