之前没有遇到过parse_str,其意思就是“把查询字符串解析到变量中”也就是$str会被解析为变量。
<?php
$data = "a=1&b=2";
parse_str($data);
echo $a;
?>
即可输出a
<?php /** * Created by PhpStorm. * User: Norse * Date: 2017/8/6 * Time: 20:22 */ include_once "flag.php"; ini_set("display_errors", 0); $str = strstr($_SERVER['REQUEST_URI'], '?');//url后面的/index.php?key1=1&key2=2,可以通过print_r($_SERVER)查看 $str = substr($str,1);//去除斜杠index.php?key1=1&key2=2 $str = str_replace('key','',$str);// parse_str($str);//将$str注册为变量 echo md5($key1);- echo md5($key2); if(md5($key1) == md5($key2) && $key1 !== $key2){ echo $flag."取得flag"; } ?>
这样一下子就跟之前的那个题目一样了。最终答案如下:
http://120.24.86.145:8002/web16/index.php?kkeyey1[]a=1&kekeyy2[]=2