【SWPUCTF 2021 新生赛】ez_unserialize

题目

先通过目录扫描找到题目

<?php

error_reporting(0);
show_source("cl45s.php");

class wllm{

    public $admin;
    public $passwd;

    public function __construct(){
        $this->admin ="user";
        $this->passwd = "123456";
    }

        public function __destruct(){
        if($this->admin === "admin" && $this->passwd === "ctf"){
            include("flag.php");
            echo $flag;
        }else{
            echo $this->admin;
            echo $this->passwd;
            echo "Just a bit more!";
        }
    }
}

$p = $_GET['p'];
unserialize($p);

?>

思路

定义了一个名为wllm的类,里面有两个公共属性:public $admin;public $passwd;admin和passwd。

构造函数__construct()将它们初始化为"user"和"123456"。然后在析构函数__destruct()中,检查admin是否等于"admin",passwd是否等于"ctf",如果满足条件就包含flag.php并输出$flag,否则输出admin、passwd和一个提示信息。

最后,代码通过GET参数p获取输入,并对其进行反序列化操作。目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值