PWC实习心得

2018-03-26-OWASP top10 -不安全的反序列化

2018-03-26  本文已影响621人  最初的美好_kai

1.原理

序列化即是把对象转变为字节流,存放在内存、文件数据库中,而反序列化即是把字节流转变为对象。

在java中有一个ObjectOutputStream类的writeobject方法可以实现序列化,而ObjectInputStream类的Readobject方法可以实现反序列化。

该漏洞的原因出自于如果应用对不可信的数据,例如恶意构造的用户输入进行反序列化,从而产生非预期的对象,从而有可能产生远程代码执行。

2.防范措施

总的防范思想是采用白名单策略,只允许白名单上的对象生成,不允许生成未经定义的对象。

如果做不到的话,可采取以后策略:

1.对序列化对象执行完整性检查和加密处理,防止被恶意篡改和创建恶意对象。

2.反序列化过程之前执行严格的类型限制。

3.隔离反序列化的代码,将其放在低权限的状态下运行。

4.监视反序列化的过程。

上一篇下一篇

猜你喜欢

热点阅读