随笔分类 -  java反序列化

摘要:从 IDEA 断点分析 RMI 通信原理 1. 流程分析总览 首先 RMI 有三部分: ·RMI Registry ·RMI Server ·RMI Client 关于流程图,放在文件里面了 2. 服务注册 ① 远程对象创建 RMIServer public class RMIServer { pu 阅读全文
posted @ 2024-08-05 16:52 毛利_小五郎 阅读(42) 评论(0) 推荐(0)
摘要:urldns 分析 这条链的目的是ping一个地址 最后的地方是在InetAddress.getByName(host),然后在URLStreamHandler的getHostAddress里调用了他 protected synchronized InetAddress getHostAddress 阅读全文
posted @ 2024-07-29 21:01 毛利_小五郎 阅读(18) 评论(0) 推荐(0)
摘要:CommonsBeanUtils 基础 先说说 JavaBean 的这个概念 比如Baby是一个最简单的JavaBean类 public class Baby { private String name = "gbz"; public String getName(){ return name; } 阅读全文
posted @ 2024-07-28 00:23 毛利_小五郎 阅读(20) 评论(0) 推荐(0)
摘要:CC5 第一步 分析流程 BadAttributeValueExpException的readObject是入口,然后我们在readobject里面看到tostring private void readObject(ObjectInputStream ois) throws IOException 阅读全文
posted @ 2024-07-26 19:29 毛利_小五郎 阅读(38) 评论(0) 推荐(0)
摘要:cc2 cc2其实就是cc3不用cc1结尾的方法,然后用cc4的结尾的方法来构造的 第一步 把cc3前半部分拿过来 TemplatesImpl templates = new TemplatesImpl(); Class tc = TemplatesImpl.class; Field name = 阅读全文
posted @ 2024-07-26 01:46 毛利_小五郎 阅读(77) 评论(0) 推荐(0)
摘要:CC4 第一步:分析链 在TransformingComparator这个类中的compare()方法调用了 transform() 方法。而 compare() 这个方法也是我们比较喜欢的这种,因为它非常常见。 public int compare(final I obj1, final I ob 阅读全文
posted @ 2024-07-25 01:20 毛利_小五郎 阅读(43) 评论(0) 推荐(0)
摘要:CC3 CC3 链同之前我们讲的 CC1 链与 CC6 链的区别之处是非常大的。原本的 CC1 链与 CC6 链是通过 Runtime.exec() 进行命令执行的。而很多时候服务器的代码当中的黑名单会选择禁用 Runtime。 而 CC3 链这里呢,则是通过动态加载类加载机制来实现自动执行恶意类代 阅读全文
posted @ 2024-07-23 00:54 毛利_小五郎 阅读(34) 评论(0) 推荐(0)
摘要:TiedMapEntry 第一步 与cc1一样前面执行代码部分不变 Transformer[] transformers = { new ConstantTransformer(Runtime.class), new InvokerTransformer("getMethod", new Class 阅读全文
posted @ 2024-07-20 02:51 毛利_小五郎 阅读(31) 评论(0) 推荐(0)
摘要:LazyMap 第一步 lazymap源代码 public class LazyMap extends AbstractMapDecorator implements Map, Serializable { private static final long serialVersionUID = 7 阅读全文
posted @ 2024-07-19 04:37 毛利_小五郎 阅读(25) 评论(0) 推荐(0)
摘要:危险方法:exec 第一步 Runtime.getRuntime().exec("calc"); InvokerTransform.transform 第二步 Class c = Runtime.class; Object runtime = Runtime.getRuntime(); Method 阅读全文
posted @ 2024-07-17 02:34 毛利_小五郎 阅读(29) 评论(0) 推荐(0)