
JAVA安全
文章平均质量分 74
tao0845
萌新,做些简单的记录
展开
-
[Java安全入门]六.CC2+CC4+CC5+CC7
与前面几条cc不同的是,cc2的依赖是4.0版本,并且解决了高版本无法使用AnnotationInvocationHandler类的弊端。cc2使用javassist和PriorityQueue来构造链。原创 2024-03-21 15:22:26 · 1577 阅读 · 0 评论 -
[Java安全入门]六.CC3
前几天学了一下cc1和cc6,对于我来说有点小困难,不过经过几天沉淀,现在也是如拨开云雾见青天,经过一上午的复习对cc1和cc6又有深入的了解。所以,今天想多学一下cc3。cc3执行命令的方式与cc1和cc6不一样,不是通过ChainedTransformer来执行,而是通过动态加载类执行。原创 2024-03-20 19:53:35 · 3685 阅读 · 1 评论 -
[Java安全入门]五.CC6链
上一篇讲到CC1链是利用AnnotationInvocationHandler来触发setValue(),但是在Java 8u71以后AnnotationInvocationHandler的readObject()里面已经没有了setValue()方法,cc6链不受jdk版本约束,较于其他cc链,更为通用。原创 2024-03-12 16:32:51 · 627 阅读 · 0 评论 -
[Java安全入门]三.CC1链
Apache Commons Collections是一个扩展了Java标准库里的Collection结构的第三方基础库,它提供了很多强大的数据结构类型和实现了各种集合工具类。Commons Collections触发反序列化漏洞构造的链叫做cc链,构造方式多种,这里先学习cc1链。原创 2024-03-09 19:58:43 · 1352 阅读 · 1 评论 -
[Java安全入门]三.URLDNS链
readObject()->HashMap.putVal()->hash()->hashCode()(URL类)->getHostAddress()->getByName()如果传入的key是url,那么就会调用URL类里面的hashCode方法。HashMap为了保证键的唯一性,将键里面的每个元素进行计算,在类的最下面有个putVal方法,里面调用了hash方法,跟进到hash方法。在初步学习java的序列化和反序列化之后,这里学习java反序列化漏洞的一个利用链,也是比较基础的一条链。原创 2024-03-07 21:35:47 · 688 阅读 · 0 评论 -
[Java安全入门]二.序列化与反序列化
Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。将程序中的对象,放入文件中保存就是序列化,将文件中的字节码重新转成对象就是反序列化。原创 2024-03-06 21:13:01 · 1460 阅读 · 0 评论 -
[Java安全入门]一.反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。简单来说,反射就是把java类中的各种成分映射成一个个的Java对象,一个类的成员变量,方法,构造方法等等都可以通过反射映射成一个个对象。原创 2024-03-06 19:57:29 · 468 阅读 · 0 评论