
反序列化
文章平均质量分 93
# 反序列化
Ho1aAs
Tutte le strada portano a roma.
展开
-
『Java安全』SnakeYAML反序列化利用基础
YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。SnakeYAML是Java的YAML解析库。......原创 2022-08-18 15:11:07 · 1178 阅读 · 0 评论 -
『Java安全』反序列化-浅析Hessian反序列化POP链
# 反序列化漏洞原理在反序列化时,会通过标志位判断对象的类型,然后调用对应类的反序列化器对应方法在`SerializerFactory.loadDeserializer()`具体会**调用到Map的put方法**写入键值对**对于Map类:会调用反序列化器的readMap方法进行反序列化操作**,默认反序列化出来的是HashMap类而**HashMap的put方法就会调用键自身的hashCode方法来判断是否有重复**,进而就造成了漏洞风险,这里不再赘述**对于TreeMap还有equals.原创 2022-07-22 11:48:12 · 1219 阅读 · 1 评论 -
『Java安全』反序列化-利用RMI重绑定rebind与动态代理机制构造恶意Remote对象触发CC1
# 原理RMI在传输过程中:会将对象进行序列化与反序列化,因此可能会带来安全隐患,这个被传输的对象是Remote类。那么只要构建恶意Remote对象即可在远程服务器触发反序列化漏洞。**在Client端获取远程registery对象后,可以利用bind/rebind绑定一个包含反序列化漏洞的Remote对象(Stub)**,Server端接收到bind/rebind后就会反序列化触发漏洞。# 如何创建恶意的Remote对象?CC1触发中:由于AnnotationInvocationHandler原创 2021-12-18 19:52:42 · 836 阅读 · 0 评论 -
『Java安全』反序列化-CB反序列化漏洞POP链分析_ysoserial CommonsBeanutils1 PoC分析
文章目录前言代码复现工具类PoC代码审计 | 原理分析1. TemplatseImpl.getOutputProperties()触发newTransformer()2. BeanComparator.compare()触发PropertyUtils.getProperty()3. PriorityQueue反序列化调用comparator.compare()为什么BeanComparator要传入lowestSetBit?为什么要添加BigInteger?POP链完前言CB1类似CC2,利用优先级队列原创 2022-03-14 14:58:00 · 3166 阅读 · 0 评论 -
『Java安全』反序列化-URLDNS POP链分析_ysoserial URLDNS payload分析
文章目录POP链总览分析POC完POP链总览java.util.HashMap.readObject();java.util.HashMap.putVal();java.util.HashMap.hash();java.net.URL.hashCode();java.net.URLStreamHandler.hashCode();java.net.URLStreamHandler.getHostAddress();分析该反序列化的入口类是java.util.HashMap,它实现了Ser原创 2021-11-14 16:49:24 · 3552 阅读 · 0 评论 -
『Java安全』反序列化-Jdk7u21 POP链分析_ysoserial Jdk7u21 payload 分析_TemplateImpl触发反序列化漏洞
文章目录前言原理分析TemplatseImpl.getOutputProperties()触发类加载动态代理AnnotationInvocationHandler.equal()调用getOutputProperties()ysoserial payload 分析代码审计完前言环境为Jdk<=7u21 +自带Xalan原作者文章:Jdk7u21.javaJava 7u21 Security Advisory原理分析TemplatseImpl.getOutputProperties()原创 2022-03-02 18:50:21 · 1326 阅读 · 0 评论 -
『Java安全』反序列化-Rome 1.0反序列化POP链分析_ysoserial Rome payload分析
文章目录前言版本代码审计 | 原理分析1. ToStringBean.toString()触发TemplatesImpl.getOutputProperties()手动调用ToStringBean.toString()示例代码2. EqualsBean.hashCode()触发toString()手动调用EqualsBean.hashCode()示例代码3. ObjectBean触发toString()或hashCode()手动调用ObjectBean.toString()和hashCode()示例代码4.原创 2022-03-08 15:52:54 · 2052 阅读 · 2 评论