- 1 序列化与反序列化基础
- 2 漏洞基本原理
- 3 Java 反射
- 4 DNSURL gadget 分析
- 1 背景介绍
- 2 CommonsCollections 1 Gadget 分析
- 3 CommonsCollections 6 Gadget 分析
- 4 CommonsCollections 2&&4 Gadget 分析
- JDK 7U21 Gadget
- 1 原理
- 2 构造
- 3 调用链
- 4 总结
- 1 Java 动态加载字节码
- 2 CommonsCollections 3 Gadget 分析
- 3 CommonsCollections 5 Gadget 分析
- 4 CommonsCollections 7 Gadget 分析
- 反序列化攻击涉及到的相关协议
- 1 RMI
- 2 JNDI
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1 原理
JDK7u21 的核心点是 sun.reflect.annotation.AnnotationInvocationHandler
,这个类在之前的分析中提到过。在 AnnotationInvocationHandler
类中有个 equalsImpl
方法:
反射调用: memberMethod.invoke(o)
,而 memberMethod
来自于 this.type.getDeclaredMethods()
。
也就是说, equalsImpl
这个方法是将 this.type
类中的所有方法遍历并执行了。那么,假设 this.type
是 Templates
类,则势必会调用到其中的 newTransformer()
或 getOutputProperties()
方法,进而触发任意代码执行。这就是 JDK7u21 的核心原理。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论