CTFSHOW-反序列化-Writeup
PHP的魔法方法 PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法。所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀。 常见的魔法方法如下: 1__construct(),类的构造函数 2 3__destruct(),类的析构函数 4 5__call(),在对象中调用一个不可访问方法时调用 6 7__callStatic(),用静态方式中调用一个不可访问方法时调用 8 9__get(),获得一个类的成员变量时调用 10 11__set(),设置一个类的成员变量时调用 12 13__isset(),当对不可访问属性调用isset()或empty()时调用 14 15__unset(),当对不可访问属性调用unset()时被调用。 16 17__sleep(),执行serialize()时,先会调用这个函数 18 19__wakeup(),执行unserialize()时,先会调用这个函数 20 21__toString(),类被当成字符串时的回应方法 22 23__invoke(),调用函数的方式调用一个对象时的回应方法 24 25__set_state(),调用var_export()导出类时,此静态方法会被调用。 26 27__clone(),当对象复制完成时调用 28 29__autoload(),尝试加载未定义的类 30 31__debugInfo(),打印所需调试信息 web254 1<?php 2 3 ?>'; 4 public $code='xrntkk'; 5} 6 7$poc = new ctfshowvip(); 8echo urlencode(serialize($poc)); web262 字符串逃逸 ...