如何在 ysoerial 上编写你自己的 Gadget 呢? 简单分析一下,主入口需要接收两个参数,第一个参数是类名,第二个参数是执行命令。 类需要实现 ObjectPayload 接口中的 getObject 方法,返回一个泛型对象。这个对象就是需要被序列化的 然后这个类需要有这个注解 @Dependencies({"commons-c…
当你找到了一个反序列化的点,但是不确定目标存在哪些依赖,从而无法及时构造出合适的 Gadget,实在是令人可惜。那么有没有办法 fuzz 出目标的 class 呢?反序列化炸弹的方式可以做到! 原理:通过构造特殊的多层嵌套 HashSet,导致服务器反序列化的时间复杂度提升,消耗服务器性能,导致延时确认 class。 示例: package yso…