php_unserialize_03
题目描述:
# 挑战03:PHP反序列化对象注入
题目提示:
难度: ★★★★☆ (较难)
描述
这是一个管理员面板应用,它使用PHP的序列化功能存储管理员配置到Cookie中。应用程序尝试通过过滤危险函数名(如eval、exec和system)来阻止恶意利用,但忽略了对象注入可以通过包含文件操作实现同样的效果。
目标
利用PHP反序列化对象注入,构造恶意序列化数据,读取系统中/flag文件的内容。
提示
- 分析
PluginManager类的__destruct方法中的include操作 - 注意
Template类的__toString方法可以读取任意文件 - 思考如何利用这些类的交互创建一个能包含读取
/flag文件的PHP代码片段 - 可以使用PHP伪协议(如php://filter)来读取文件内容
最近解题
分数排行
- 1 2100
- 2 1600
- 3 1200
- 4 900
- 5 600
- 6 600
- 7 500
- 8 400
- 9 300
- 10 300