java

java动态代理

java动态代理记一下之前没记的笔记 代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联...

java

java反序列化CC3

学习动态加载字节码的时候学到了TemplatesImpl加载字节码的方法。我们也可以利用这个特性进行命令执行。结合之前CC1的手动加载我们可以写一个简单的demo,这里用p神的 1234567891011121314151617181...

java

java动态加载字节码的方法

讨论方法前先来看看什么是字节码 什么是java字节码严格来说,Java字节码(ByteCode)其实仅仅指的是Java虚拟机执行使用的一类指令,通常被存储在.class文件中。但是我们讨论的字节码可以扩大范围——所有能够恢复成一个类并...

java

java反序列化CC6

因为sun.reflect.annotation.AnnotationInvocationHandler#readObject 的逻辑变化,导致cc1的链子在8u71版本后无法使用。所以要找一条能在java更高版本使用的链子。 cc6...

java

java反序列化CC1-2

上一篇命令执行是我们手动触发的put方法进行添加新元素,那么真正的反序列化poc呢?看看p神给的poc 1234567891011121314151617181920212223242526272829303132333435363...