攻防世界unserialize3
进入题目,可以看到和php反序列化有关
所以我们可以自己写php代码把他进行序列化,然后通过构造payload来进行绕过_wakeup(_wakeup函数会执行exit退出函数,所以要饶过他)
代码大概意思:把xctf的类赋值给新建变量$a,然后把经过序列化的变量$a赋值给变量$b,打印$b,得到序列化之后的值
下面图片是对序列化之后各个参数的解释
漏洞(CVE-2016-7124)使序列化字符串中表示对象属性个数的值大于真实的属性个数,以此跳过__wakeup 的执行,达到绕过的目的,所以我们把O:4:"xctf":1:{s:4:"flag";s:3:"111";}里面的变量数量1改为2,达到绕过效果