【网络安全 | CTF】攻防世界 Web_php_unserialize 解题详析

文章目录

    • 代码审计
    • 解题思路
    • wakeup绕过
    • preg_match绕过
    • base64绕过
    • GET传参
    • 方法二

【网络安全 | CTF】攻防世界 Web_php_unserialize 解题详析_第1张图片

代码审计

这段代码首先定义了一个名为 Demo 的类,包含了一个私有变量 $file 和三个魔术方法 __construct()、__destruct() 和 __wakeup()。其中:

  • __construce()方法用于初始化 $file 变量
  • __destruce方法用于输出文件内容
  • __wakeup() 方法检查当前对象的 $file 变量,如果不等于 index.php,则将其重置为 index.php,从而防止攻击者通过反序列化攻击来读取 fl4g.php 文件的内容。
if (isset($_GET[

你可能感兴趣的:(CTF,CTF,网络安全,web安全)