Java技术学习V0.01

Fastjson

  • java处理JSON数据有三个比较流行的类库,gson(google维护)、jackson、以及Fastjson。
  • Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。
  • Fastjson的常用API是:
    • Json.toJsonString(group)【序列化】
    • 和Json.parseObject(jsonString,xxx.class)【反序列化】。
  • 如果不知道对应反序列化类型(如数据库是否查询得到结果不一样),反序列化还支持使用泛型类型,风险由此产生。如果在json中json key内容等于@type,并且未设置checkAutoType黑名单的话,就会存在反序列化漏洞。若参数是用户输入的,那么黑客可以生成有漏洞的类进行远程命令执行攻击。

Log4j

  • Log4j是一个功能强大的日志组件(框架),提供方便的日志记录。

参考资料

  • 1.【影响fastjson-1.2.22到1.2.24区间版本】利用条件苛刻有些鸡肋,https://paper.seebug.org/292/

你可能感兴趣的:(Java技术学习V0.01)