[网络安全 CTF] 记一次PHP序列化反序列化解题详析_ctfphp的new类

<?php
error\_reporting(0);
function backdoor()
{
    $a = $\_GET["a"];
    $b = $\_GET["b"];
    $d = $\_GET["d"];
    $e = $\_GET["e"];
    $f = $\_GET["f"];
    $g = $\_GET["g"];
    $class = new $a($b);
    $str1 = substr($class, $d, $e);
    $str2 = substr($class, $f, $g);
    $str1($str2);
}

class popko
{
    public $left;
    public $right;

    public function \_\_call($method,$args)
    {
        if (($this->left != $this->right) && (md5($this->left) === md5($this->right)) && (sha1($this->left) === sha1($this->right))) {
            echo "backdoor is here";
            backdoor();
        }
    }

    public function \_\_wakeup()
    {
        $this->left = "";
        $this->right = "";
    }
}

class pipimi
{
    function \_\_destruct()
    {
        echo $this->a->a();
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值