php_unserialize_02
题目描述:
# 挑战02:PHP反序列化POP链
题目提示:
难度: ★★★☆☆ (中等)
描述
这是一个用户配置管理应用,它使用PHP的序列化功能保存用户的配置文件到Cookie中。该应用包含多个类,这些类之间的交互可能被恶意利用,形成一个属性导向编程(Property-Oriented Programming,简称POP)链来执行不受限制的操作。
目标
利用PHP反序列化POP链,创建一个能够读取系统中/flag
文件内容的序列化数据。
提示
- 分析所有类的魔术方法,特别是
__destruct
和__toString
- 注意
Logger
类的log
方法可以写入任意文件 - 查看
FileViewer
类的__toString
方法,它可以读取任意文件 - 尝试构造一个POP链,将这些类链接起来实现文件读取