1.PHP反序列化概述
序列化serialize()
把一个对象变成可以传输的字符串,比如下面是一个对象:
反序列化unserialize()
把被序列化的字符串还原为对象,然后在接下来的代码中继续使用。
序列化和反序列化本身没有问题,但是如果反序列化的内容是用户可以控制的,且后台不正当的使用了PHP中的魔法函数,就会导致安全问题
2.PHP反序列化漏洞
看一下页面,接受反序列化,打开源码文件看看它反序列化什么
也就是把我们传进去的东西进行序列化
我们先在本地直接搭建一个序列化的内容,在浏览器访问它
O:1:“s”:1:{s:4:“test”;s:29:"";}
查看当前页面的源代码,可以看到我们构造好的代码复制,再把它放进我们的题目中即可
O:1:“S”:1:{s:4:“test”;s:29:“”;}
成功

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐