JSON,全称:JavaScript Object notification,作为一种常见的轻量级数据交换格式,在程序员的开发生涯中应该经常接触。简单明了的层次结构使JSON成为一种理想的数据交换语言。人容易读写,机器也容易分析生成,有效提高了网络传输效率。
目前主流对象转换为JSON的工具很多。我们主要介绍今天的主角,阿里巴巴的开源库——Fastjson。Fastjson是一个Java库,可以用来将Java对象转换成它们的json表示。它还可以用来将JSON字符串转换成等效的Java对象。Fastjson可以处理任何Java对象。
什么是 Fastjson?
阿里给出的官方定义是,fastjson是阿里巴巴的开源json解析库,可以解析JSON格式的字符串,支持将Java bean序列化为JSON字符串,也可以将JSON字符串反序列化为Java bean。
Fastjson 的优点
Fastjson比其他json库更快。自2011年fastjson 1 . 1 . x版本发布以来,其性能从未被Java实现的其他json库超越。广泛使用的fastjson在阿里巴巴广泛使用,部署在上万台服务器上,fastjson在行业内被广泛接受。2012年被开源中国评选为国内最受欢迎的开源软件之一。有很多测试用例来测试完整的fastjson。在1.2.11版本中,有超过3321个测试用例。每个版本都将经过回归测试,以确保稳定的质量。使用简单fastjson的API非常简洁。对泛型、超大文本的流处理、枚举、序列化和反序列化扩展的全功能支持。
说这么多!信息来了。
fastjson的当前版本是1.2.68,3月底发布。日前,某安全运营中心监测到fastjson=1.2.68版本存在远程代码执行漏洞,可利用该漏洞直接获取服务器权限。360CERT将该漏洞评为“高风险”
这个远程代码执行漏洞的原理是可以绕过自动类型切换的限制,链解串器可以通过精心构建解串利用链来实现远程命令执行。该漏洞本身无法绕过fastjson的黑名单限制,需要配合不在黑名单中的反序列化利用链才能完成完整的漏洞利用。
00-1010常用的Json组件FastJson存在远程代码执行漏洞。攻击者可以通过精心构造的JSON消息在目标服务器上执行任意命令,从而获得服务器特权。这次爆发的漏洞是之前漏洞中自动类型的旁路。
漏洞描述
FastJson 1.2.48
00-1010利用此0day漏洞,恶意攻击者可以构建黑名单策略,使攻击请求绕过FastJSON。例如,攻击者通过精心构造的请求远程让服务器执行指定的命令。
无线一键通
请实时关注github