美文网首页让前端飞Web前端之路
小猿圈浅析web安全之序列化与反序列化漏洞

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

作者: 小猿圈_7197 | 来源:发表于2019-07-15 18:10 被阅读0次

    对于现在的互联网产品你了解多少?有没有想过自己有一天会被黑客攻击,自己的人身财产得不到保障,不过现在web安全推出以后得到了改善,今天小猿圈web安全老师就为大家分享web安全的一个知识点,希望对于你的学习有所帮助,web安全之序列化与反序列化漏洞。

    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";

    公有属性:属性名

    如:test1

    4.序列化利用条件

    根据上面的序列化输出:

    在序列化数据中我们,无法还原类中具有的方法。

    所以这就引出了序列化的两个条件。

    1.当前所利用的作用域下面必须要有该类存在,该类中必须要含有unserialize()函数。

    2.我们只能控制类中的属性来攻击。

    因为没有序列化方法,我们能控制的只有类的属性,因此类属性就是我们唯一的攻击入口。

    以上就是小猿圈web安全讲师对web安全之序列化与反序列化漏洞的简单介绍,通过以上的介绍你是否对web安全你有了一定的了解呢,是否有想过学习web安全呢?但是苦于自己没有合适的平台,那么久来小猿圈看看吧,里面有你需要的知识。

    相关文章

      网友评论

        本文标题:小猿圈浅析web安全之序列化与反序列化漏洞

        本文链接:https://www.haomeiwen.com/subject/jcdokctx.html