- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 shiro无依赖利用链
我们只要调用它的另一个构造函数,然后调用JDK或者CB自带的类就行了,同时还要满足两个条件,一方面就是继承。我们上次用的CC3的依赖,这次把这个依赖删了,使用shiro自带的依赖打。是嵌套的意思 跟进去发现,readMethod是我们传进去的参数。CC是对java集合类的增强,CB是对JavaBean的增强。虽然是CC4中的类,但是我们在传入系统的时候就把他修改成。是可以动态加载类的,也就是可以代码执行,所以。是我们传的参数,这里很可能是一个可以利用的点。,而且优先队列的参数也是可以控制的。
2023-07-23 16:54:45 831
原创 CommonsCollections CC2链
在shiro反序列化或者其他中间件的反序列化过称中,会重写一下类加载的方法,类加载的时候有时候会对数组处理不好,然后加载不到。cc2和cc4很像,在。CC2的特点是没有使用。
2023-07-22 09:43:58 109
原创 java类的动态加载
初始化阶段是执行类构造器()方法的过程,虚拟机会保证一个类的类构造器()在多线程环境中被正确的加锁,同步;如果多个线程同时初始化一个类,那么只会有一个线程区执行这个类的类构造器,其他线程阻塞等待,直到()方法完毕,同一个类加载器,一个类只会被初始化一次。正式为类变量(static成员变量)分配内存并设置类变量初始值(零值)的阶段,这个变量所使用的内存都将在方法区进行分配,这时候的内存分配仅包括类变量,而不包括实例变量,实例变量将会在对象实例化时随着对象一起在堆中进行分配。
2023-07-21 17:00:46 194 1
原创 java反序列化
Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。为什么需要序列化与反序列化化。
2023-07-21 16:59:12 466
原创 tp 6.0.9反序列化漏洞
在vendor/league/flysystem-cached-adapter/src/Storage/Adapter.php找到了一个save方法。安装教程:https://blog.csdn.net/qq_15941409/article/details/81233168。可以看到这里可以使用write进行写文件,其实update跟write的构造链是一样的,如果存在的话就给他覆盖了。这里我们只需要将complete赋值为我们的一句话木马,也就实现了我们的写马操作。我们已经控制了继续看看。
2023-07-21 16:53:26 633 1
十分好用的漏洞扫描工具
2023-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人