借助DeepSeek从漏洞挖掘的角度分析fastjson反序列化漏洞
💡
原文中文,约14800字,阅读约需36分钟。
📝
内容提要
本文分析了fastjson反序列化漏洞的挖掘与利用,探讨了受影响的版本及反序列化链。通过逆向思维和DeepSeek工具,作者还原了漏洞链,展示了构造恶意JSON字符串以执行代码的方法,强调了漏洞的严重性及防范措施。
🎯
关键要点
- 研究fastjson反序列化漏洞的动机是希望通过逆向思维还原反序列化链。
- 影响的fastjson版本为1.2.22-1.2.24,后续版本在此基础上增加了限制。
- 环境搭建需要特定的依赖项,包括javassist和fastjson等。
- 挖掘sink点需要经验或工具,已知的sink点为method.invoke(Object)。
- 通过分析FieldDeserializer及其实现类,发现DefaultFieldDeserializer是关键。
- 构造恶意JSON字符串以执行代码需要控制Object的值。
- 使用DeepSeek工具帮助调试和分析反序列化链。
- 成功构造恶意JSON字符串后,能够执行恶意代码。
- 需要注意JSON字符串中字段的顺序和类型,以确保能够正确反序列化。
- 最终通过调用JavaBeanDeserializer实现了反序列化漏洞的利用。
➡️