JEP 290 初识


JEP 290是 oracle提供已一套JAVA反序列化机制,其并不是一种必须被强制执行的策略,而是需要程序员或者运维人员进行开发与启用。关于该机制的优缺点借用老外的一篇文章

https://dzone.com/articles/a-first-look-into-javas-new-serialization-filterin

中文版可以参考

https://blog.csdn.net/caiqiiqi/article/details/104270776

该机制提供了三种防御策略,分别是全局过滤器、自定义过滤器以及内置过滤器

全局过滤器

该过滤器可以通过三种方法进行启用,

  1. 启动应用时通过指定参数-Djdk.serialFilter=<白名单类1>;<白名单类2>;!<黑名单类>
  2. 设置环境变量$JAVA_HOME/jre/lib/security/java.security
  3. 启动时指定策略文件-Djava.security.properties=<黑白名单配置文件名>
    关于java.security文件提供了主要提供了两种策略,一种是限制类调用的深度与数量,二是通过黑白名单进行限制
    在这里插入图片描述

自定义过滤器

程序员可在编码是使用ObjectInputStreamFilter指定反序列化黑白名单
ObjectInputFilter filesOnlyFilter = ObjectInputFilter.Config.createFilter("de.mogwailabs.Example;!*");

内置过滤器

其实第一张图里面就是一些内置过滤器,当然截图不全,如果要启动去掉注释即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值