fastjson反序列化CNVD-2019-22238

漏洞原理:

  fastjson是阿里的开源json解析库,用来将json字符串反序列化为JavaBean类,或者将JavaBean类序列化为json字符串。

在java审计中,需要关注的关键字:

JSON.parse , JSON.parseObject , JSONObject.parse , JSONObject.parseObject ,JSONObject.parseArray

  Fastjson提供了autotype功能,允许用户在反序列化数据中通过"@type"指定反序列化的类型,其次,Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法,那么当组件开启了autotype功能并且反序列化不可信数据时,攻击者可以构造数据,使目标应用的代码执行流 程进入特定类的特定setter或者getter方法中,若指定类的指定方法中有可被恶意利用的逻辑(也就是通常所指的"Gadget"),则会造成一些严重的安全问题。

影响版本:

  Fastjson <=1.2.47

复现:

1、vulfocus靶场:访问之后并抓包。

 

 

 2、修改数据包:首先修改数据包为post请求方式,修改Content-Type: application/json字段为json。

3、测试是否存在漏洞:使用下列的几个payload进行测试。

dnslog域名解析测试:

{"x":{"@type":"java.net.Inet4Address","val":"okkkk.v60oir.dnslog.cn"}}
{"zeo":{"@type":"java.net.Inet4Address","val":"v60oir.dnslog.cn"}}

 

 

 4、利用:

 

posted @ 2022-08-23 09:38  三亿人  阅读(159)  评论(0编辑  收藏  举报