备份是个好习惯

我们看到备份肯定想到bak文件,我们再网址输入地址,就会自动下载

代码如下:

```<?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的路径地址查找“?”字符首次出现的位置,将“?”后面字符的取值给$str
$str = substr($str,1);			//将$str变量中的值为1(这里从1开始计数,也就是说只会去掉第一个字母)前面的数值全部去除
$str = str_replace('key','',$str);			//将str变量中所有带key的字符串变为无数据
parse_str($str);				//查询str中的字符串解析到变量中,也就是说查询$key1,$key2
echo md5($key1);

echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){		//满足条件获得flag,所以构造kekeyy1[]=[1]&kekeyy2[]=[2],因为key12中为弱比较类型,所以MD5
包含字符串是相同的,但数值之间比较就不相同了
    echo $flag."取得flag";
}
```?>

所以str_replace的过滤我们使用kkeyey的形式进行绕过

kkeyey这个是中间的key被过滤,但是我们左右两边有k+ey,所以成功构造一个key让下文parse_str中的变量读取。


获得flag

posted @ 2020-11-14 12:21  网抑云黑胶SVIP用户  阅读(107)  评论(0)    收藏  举报