dubbo版本升级关于序列化问题

最近两年公司项目dubbo进行升级,从2.5.6升级至2.6.9
至今又升级为2.6.10

主要升级的原因是序列化存在漏洞,需要使用hession协议进行序列化操作。

2.6.9

在2.6.9引入白名单,因为hessian默认支持java.*的所有类进行序列化,所以重写AbstractHessian2FactoryInitializer配置白名单参数
是否开启白名单

  *static String WHITELIST = "dubbo.application.hessian2.whitelist";*

白名单允许序列化的类路径

  *static String ALLOW = "dubbo.application.hessian2.allow";*

黑名单序列化的类路径

  *static String DENY = "dubbo.application.hessian2.deny";*

把所需要的类路径加上,否则会报错heesian序列化异常,如
严重:

com.sinosig.sl.sssc.dto.form.Page's interfaces: java.io.Serializable in blacklist or not in whitelist, deserialization with type 'HashMap' instead.
com.alibaba.com.caucho.hessian.io.HessianFieldException: com.sinosig.sl.sssc.dto.result.ResultDTO.resultValue: java.util.Map cannot be assigned from null

不在名单里,hessian无法进行序列化所以当作hashMap去处理序列化,失败。

升级为2.6.12

dubbo改写了序列化方式,优化了早期的序列化漏洞,引入文件默认配置读取一些文件不允许hessian序列化,本次默认不支持java.*的白名单,需写入自行配置,同2.6.9一样重写AbstractHessian2FactoryInitializer,只是将java.*加入白名单配置即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值