web安全-反序列化漏洞

java在开发过程中,需要先编译再执行,所以和javascript这种可以随时插入代码运行的语言不同,java这种先打包再运行的高级语言确实看起来更安全。

所以个XSS攻击通过直接插入代码的方法不同,反序列化漏洞是要在已封装好的代码中插入攻击逻辑。

序列化:开发应用时,应用输出数据会转化成字符串或字节流。

1.将某个类序列化后存为文件,下次读取时只需将文件中的数据反序列化就可以将原先的类还原到内存中。也可以将类序列化为流数据进行传输。总的来说就是将一个已经实例化的类转成文件存储,下次需要实例化的时候只要反序列化即可将类实例化到内存中并保留序列化时类中的所有变量和状态。

2.对象、文件、数据,有许多不同的格式,很难统一传输和保存,序列化以后就都是字节流了,无论原来是什么东西,都能变成一样的东西,就可以进行通用的格式传输或保存,传输结束以后,要再次使用,就进行反序列化还原,这样对象还是对象,文件还是文件。

反序列化:应用将字符串或者字节流变成对象。

序列化和反序列化的实现方式:开发过程中使用一些序列化和反序列化的工具,比如 Fastjson 和 Jackson 等,还有 XML 和 JSON 这些跨平台的协议,可以把对象转化为带格式的文本,把文本再还原为对象。

反序列化漏洞是怎么产生的:问题就出在把数据转化成对象的过程中。在这个过程中,当传给 unserialize() 的参数可控时,那么用户就可以注入精心构造的 payload。当进行反序列化的时候就有可能会触发对象中的一些魔术方法,造成意想不到的危害。而黑客正是利用这

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值