Java
文章平均质量分 57
放空 123
这个作者很懒,什么都没留下…
展开
-
java反序列化CC1链分析(LazyMap)
LazyMap类LazyMap.decorate//factory成员数据类型为Transformer并且我们可以控制,且该方法为public访问权限 protected final Transformer factory; public static Map decorate(Map map, Transformer factory) { return new LazyMap(map, factory); }LazyMap.get该方法中的factory属性调原创 2022-03-17 20:02:38 · 1045 阅读 · 0 评论 -
java 反序列化CC1链分析(TransformedMap)
Map类 --> TransformedMapMap类是存储键值对的数据结构。 Apache Commons Collections中实现了TransformedMap ,该类可以在一个元素被添加/删除/或是被修改时会调用transform方法自动进行特定的修饰变换,具体的变换逻辑由Transformer类定义。也就是说,TransformedMap类中的数据发生改变时,可以自动对进行一些特殊的变换,比如在数据改变时,进行一些我们提前设定好的操作。TransformedMap.decorate方法原创 2022-03-14 19:57:03 · 1503 阅读 · 0 评论 -
JAVA基础动态代理
静态代理用法创建一个接口,然后创建被代理的类实现该接口并且实现该接口中的抽象方法。之后再创建一个代理类,同时使其也实现这个接口。在代理类中持有一个被代理对象的引用,而后在代理类方法中调用该对象的方法。接口:public interface HelloInerface { void sayHello();}被代理类:public class Hello implements HelloInerface{ public void sayHello(){ Sys原创 2022-03-14 19:25:16 · 392 阅读 · 0 评论 -
Java 反序列化URLDNS利用链 调试分析
事前准备他的利用链 * Gadget Chain: * HashMap.readObject() * HashMap.putVal() * HashMap.hash() * URL.hashCode()生成payload:java -jar ysoserial.jar URLDNS http://xxx.ceye.io >out.binjava -jar ysoserial.jar URLDNS http://kjo3原创 2022-03-10 19:55:04 · 1224 阅读 · 0 评论 -
java基础之反射
获取Class类得到Class类有三种方法:.class,在加载了某个类的情况下,直接拿它的属性即可,例如:Runtime.class。obj.getClass()。如果存在某个类的实例obj,那么可以通过getClass()方法得到这个类对应的Class。Class.forName,也是最常用的。知道了那个类的完整名字后(包括包名),作为参数即可:Class clazz = Class.forName("java.lang.Runtime");获取成员变量FieldClass类有这些获取属性原创 2022-03-09 19:40:26 · 318 阅读 · 0 评论