java
文章平均质量分 74
XINO丶
Taking my time on my ride。
展开
-
CVE-2019-2725
在学习内网过程中遇到了weblogic比较常见的漏洞,编号是cve-2019-2725,之前没有总结过,于是本篇文章给大家总结归纳一下该漏洞的利用方法与原理。简单分析了一下cve-2019-2725漏洞的原理以及攻击修复方法,因为之前没有总结所以特地写一个文章总结一下,如果对大家有帮助不妨一键三连支持一下。原创 2023-02-13 18:06:27 · 1264 阅读 · 3 评论 -
深入浅出带你学习shiro-550漏洞
简单介绍shiro550漏洞是什么和利用链分析,以及实战演示。原创 2023-02-13 17:58:59 · 757 阅读 · 0 评论 -
Java安全—CommonsCollections7
Hashtable在调用put方法添加元素的时候会调用equals方法判断是否为同一对象,而在equals中会调用LazyMap的get方法添加一个元素(yy=yy),如果lazyMap2和lazyMap1中的元素个数不一样则直接返回false,那么也就不会触发漏洞。所以我们可以这样:在添加第二个元素后,lazyMap2需要调用remove方法删除元素。...原创 2022-08-17 23:17:21 · 524 阅读 · 0 评论 -
Java安全—CommonsCollections4
这次给大家带来的是CC4链的简单分析,可以看到CC4链还是没有脱离之前跟的链的影子,我们可以看到CC3的前半部分以及CC2的后半部分,至此CC链就快跟完了。原创 2022-08-17 23:15:02 · 646 阅读 · 0 评论 -
Java安全—CommonsCollections3
因为CC2链主要考察的是动态加载恶意字节码,而CC3也差不多,所以就选一个跟了,CC3链大体上是CC1和CC2链的结合,所以我我们只跟CC3链了。在CC1中,我们为了调用方法使用了InvokerTransformer这个类完成回调,但是如果对其进行了限制,我们CC1就不能使用了,根据上文学习的动态加载字节码,TemplatesImpl动态加载字节码来替换掉原来的回调链。...原创 2022-08-17 23:13:56 · 496 阅读 · 0 评论 -
Java安全-动态加载字节码
首先我们来看看什么是JAVA字节码,Java字节码是Java虚拟机执行的一种虚拟指令格式。换一种说法就是编译后得到的class文件内容,本质上就是JVM执行使用的一类指令。可以说是**所有能够恢复成一个类并在JVM虚拟机里加载的字节序列。个人理解就是利用一些方法去执行class文件内容。**接下来给大家带来几种加载字节码的方法。...原创 2022-08-17 23:12:14 · 685 阅读 · 0 评论 -
Java安全-类加载器
我们也可以自定义加载器来满足一些需求。若要做到自定义加载器,则需要我们做到1.编写一个类继承自ClassLoader抽象类。2.重写它的findClass()方法。3.在findClass ()方法中调用defineClass( )这里说实话没有做到很好的理解,用了其他师傅的代码做一下示范:1.重写findClass{}}else {}}@Overridetry {try {= -1) {}}}}}2.{";}}3....原创 2022-08-17 23:09:12 · 914 阅读 · 0 评论 -
Java安全—CommonsCollections5
今天给大家带来的是CC5链的构造分析,也是基本按照CC1走下来的,只是后面的部分不太一样。希望大家有所收获。原创 2022-08-17 23:06:54 · 592 阅读 · 0 评论 -
Java安全—CommonsCollections6
相比于CC1链,这个链子还是比较好跟的多少有点跟过的链子的影子(比如CC5),不过还是需要用心学习一下。里面还是有很多不太好懂的点的。原创 2022-08-17 23:04:30 · 651 阅读 · 0 评论 -
Java安全—CommonsCollections1
Apache Commons 当中有⼀个组件叫做 Apache Commons Collections ,主要封装了Java 的 Collection(集合) 相关类对象,它提供了很多强有⼒的数据结构类型并且实现了各种集合工具类。作为Apache开源项⽬的重要组件,Commons Collections被⼴泛应⽤于各种Java应⽤的开发,⽽正 是因为在⼤量web应⽤程序中这些类的实现以及⽅法的调⽤,导致了反序列化⽤漏洞的普遍性和严重性。环境CommonsCollections ...原创 2022-08-17 23:02:35 · 749 阅读 · 0 评论 -
JAVA注解与反射(简单整理)
注解:特点:可以被其他程序读取格式:“@注释名”,还可以添加一些参数内置注解:@Override :表示一个方法声明打算重写另一个方法声明:典型的就是toString@Deprecated:表示不鼓励使用这样的元素(但是可以使用)@SuppressWarnings:用来抑制编译时的警告信息(需要添加参数)元注解:负责注解其他注解@Target:描述注解的使用范围@Runtime:表示在什么级别保存该注释信息@Document:说明该注解被包含在javadoc中@inherited:原创 2022-04-16 14:00:16 · 194 阅读 · 0 评论 -
JAVA注解与反射.part1
注解:特点:可以被其他程序读取格式:“@注释名”,还可以添加一些参数内置注解:@Override :表示一个方法声明打算重写另一个方法声明:典型的就是toString@Deprecated:表示不鼓励使用这样的元素(但是可以使用)@SuppressWarnings:用来抑制编译时的警告信息(需要添加参数)元注解:负责注解其他注解@Target:描述注解的使用范围@Runtime:表示在什么级别保存该注释信息@Document:说明该注解被包含在javadoc中@inherited:原创 2022-04-13 15:19:03 · 88 阅读 · 0 评论 -
java反序列化浅探
刚打完蓝桥杯,摆!核心类:ObjectOutputStream:IO 类,包含序列化对象的方法,writeObject()ObjectInputStream:IO 类,包含反序列化对象的方法,readObject()Serializable ,接口,是一个标志性接口,标识可以在 JVM 中进行序列化,JVM 会为该类自动生成一个序列化版本号。参与序列化与反序列化的类必须实现 Serializable 接口serialVersionUID,类属性,序列化版本号,用于给 JVM 区别同名类,没有提供版原创 2022-04-10 16:43:17 · 3535 阅读 · 0 评论 -
JAVA之抽象·接口·异常
学习笔记原创 2022-04-06 18:06:21 · 152 阅读 · 0 评论 -
JAVA之封装·继承·多态
封装多是对属性而言的数据的隐藏,仅暴露少量方法给外部使用关键:私有属性:get/set举例#studentpackage OOP;public class student { private String name; private int id; private char sex;}#demo1package OOP;public class demo1 { public static void main(String[] args) {原创 2022-04-05 16:31:16 · 762 阅读 · 0 评论 -
JAVA方法的调用
方法的调用静态方法可以直接调用,动态方法需要先实例再调用静态方法调用静态方法(同类内直接调用,不同类内通过类.方法名)#demo1package OOP;public class demo1 { public static void main(String[] args) { student.say(); } }and#studentpackage OOP;public class student { public static void原创 2022-04-04 15:19:12 · 301 阅读 · 0 评论