码迷,mamicode.com
首页 > 其他好文 > 详细

成理信安协会题目反序列化03

时间:2020-10-06 21:19:19      阅读:34      评论:0      收藏:0      [点我收藏+]

标签:turn   this   ret   echo   load   方法   serialize   hint   怎么   

就如这道题在最开始面板上说的一样,你真的了解反序列化了吗?
这道题就是在看你是不是真的了解了魔术方法怎么触发,起到什么作用?
先上源码。

<?php
show_source(__FILE__);

class CDUTSEC1{
    public $file;
    public $function;

    function __construct($file, $function)
    {
        $this->file = $file;
        $this->function = $function;
    }
    function __wakeup()     // Hint:听说你们喜欢绕__wakeup,但是我可听说官方在php7.0.10之后修复了这个bug
    {
        $this->file = __FILE__;
        $this->function = ‘phpversion‘;
    }
    function __invoke()
    {
        return file_get_contents($this->file);
    }
    function __toString()
    {
        return file_get_contents($this->file);
    }
    function __get($function)
    {
        return $this->function;
    }
    function __call($a, $b){
        return $this->function;
    }
}

class CDUTSEC2{
    public $function = ‘phpversion‘;

    function __destruct()
    {
        echo ($this->function)();   //
    }
}

@unserialize($_GET[‘payload‘]);

代码审计一下。
+

成理信安协会题目反序列化03

标签:turn   this   ret   echo   load   方法   serialize   hint   怎么   

原文地址:https://www.cnblogs.com/Riv3r1and/p/13773904.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!