php魔术方法
构造函数:__construct($u, $p)
,用于创建类的新实例时初始化用户名和密码。
__wakeup魔术方法:当使用unserialize
反序列化对象时,此方法会被调用。如果用户名或密码不为空,程序将终止执行。
__invoke魔术方法:允许对象像函数一样被调用,执行eval
函数,即执行$this->code
变量中的代码。
__sleep魔术方法:在对象被序列化之前调用,这里它将用户名和密码设置为空字符串。
__unserialize魔术方法:在对象反序列化时调用,设置用户名、密码和code
属性。
__destruct魔术方法:当对象被销毁时调用,如果code
属性等于十六进制的0x36d
(十进制的877
),则将密码写入以用户名命名的文件中。
unserialize函数:最后,代码调用unserialize
函数,传入通过GET请求获取的vip
参数,这将创建ctfshowvip
类的一个实例。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Echo!