小猿圈002 发表于 2019-7-15 18:36:16

小猿圈浅析web安全之序列化与反序列化漏洞

对于现在的互联网产品你了解多少?有没有想过自己有一天会被黑客攻击,自己的人身财产得不到保障,不过现在web安全推出以后得到了改善,今天小猿圈web安全老师就为大家分享web安全的一个知识点,希望对于你的学习有所帮助,web安全之序列化与反序列化漏洞。https://upload-images.jianshu.io/upload_images/18616261-b384f0493340dc9b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240


1.序列化简介将原本的数据通过某种手段进行“压缩”,并且按照一定的格式存储的过程就可以称之为序列化。如:通常情况下为了前后端之间的传输方便我们将其json_encode了,然后我们后端如果接受到这个json数据,还能在json_decode回来,再通俗一点就是tx目前不支持直接传输文件夹,我们必须要压缩一下然后传输,对方接收到需要解压才能看到你的数据。1.1序列化与反序列化的区别序列化就是将对象用字符串表示,反序列化就是将序列化字符串转换为对象。注意:序列化的对象可以是class也可以是Array,string等其他对象。2.PHP序列化PHP的所谓的序列化也是一个将各种类型的数据,压缩并按照一定格式存储的过程,他所使用的函数是serialize()。3.PHP序列化三种权限序列化为了把这个类的信息完全压缩,自然把属性的权限考虑了进去。将序列化的内容输入到txt文件里。可以看到三个权限表示的方式是不一个样的。flag作为私有属性,在其前面加了.类名.。test作为保护属性,在其前面加了.*.。而test1公有属性则,按照常规理解的方式。所以总结如下:在序列化的过程中:私有属性:.类名.属性名如:s:10:"testflag";保护属性:.*.属性名如:s:7:"*test";公有属性:属性名如:test14.序列化利用条件根据上面的序列化输出:在序列化数据中我们,无法还原类中具有的方法。所以这就引出了序列化的两个条件。1.当前所利用的作用域下面必须要有该类存在,该类中必须要含有unserialize()函数。2.我们只能控制类中的属性来攻击。因为没有序列化方法,我们能控制的只有类的属性,因此类属性就是我们唯一的攻击入口。以上就是小猿圈web安全讲师对web安全之序列化与反序列化漏洞的简单介绍,通过以上的介绍你是否对web安全你有了一定的了解呢,是否有想过学习web安全呢?但是苦于自己没有合适的平台,那么久来小猿圈看看吧,里面有你需要的知识。
页: [1]
查看完整版本: 小猿圈浅析web安全之序列化与反序列化漏洞