parse_str

之前没有遇到过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

原文地址:https://www.cnblogs.com/nul1/p/8623695.html