fastjson漏洞分析
fastjson介绍
fastjson 是一个 Java 库,可用于将 Java 对象转换为其 JSON 表示形式。它还可以用于将 JSON 字符串转换为等效的 Java 对象。Fastjson 可以处理任意的 Java 对象,包括没有源代码的预先存在的对象。

json -> bean
java 的核心就是对象的操作,fastjson 同样遵循这个原则利用get、set操作对象。将 User 对象转化为JSON字符串后,通过其提供的 parse() 方法就可将字符串还原成对象。

json框架探测
json框架识别
不同的json框架在解析json字符串的表现形式各不相同,利用其独特性质可以对json框架进行识别。举例现存在一个User对象,分析 json 反序列化时的性质。

jackson
-
严格要求与bean对象对齐,可少不能多,因此添加多余kv 报错

-
无法解析单引号 报错

-
无法识别注释符 报错

gson
-
浮点无法转整数 报错,向 int 类型的值传浮点数无法解析会报错

-
特有解析 报错,遇到 # 时都会当注释符处理

-
特有解析 报错,拼接一个json字符串时会报错

本文深入探讨了Fastjson的安全漏洞,包括版本探测、利用链分析以及不同版本的漏洞利用方法,如jackson的CVE-2017-7525和CVE-2020-36179,以及Fastjson的各种利用技巧,如DNSLOG探测和WAF规避策略。同时,文章提醒开发者关注Fastjson的安全更新,避免使用存在漏洞的旧版本。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



