攻防世界web进阶_unserialize3

攻防世界_web进阶区_unserialize3

点进去是这样不完整的代码,f12查看一下源码和网络中消息头有没有信息,发现没有
在这里插入图片描述class xctf{//类
public $flag = '111';//public变量为111
public function __wakeup(){//如果执行了wakeup方法就exit
exit('bad requests');
}
?code=//传参
我们先试试序列化后的对象字符串传进去是啥反应
可以自己写个php代码将所给的类序列化为字符串
在这里插入图片描述序列化后的字符串为O:4:“xctf”:1:{s:4:“flag”;s:3:“111”;}

O(object):4(4个长度):“xctf”(名字):1(对象属性个数):{s(字符串):4(4个长度):“flag”;s:3:“111”;}
在这里插入图片描述
发现不行,执行了wakeup(),说明执行了unserialize()。
我们要知道,_wakeup()方法会在使用函数unserialize()时自动调用,但是当序列化字符串表示对象属性个数的值大于真实个数的属性时就会跳过__wakeup的执行。
所以我们只需要把1改成大于1的数就行
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值