备份是个好习惯
我们看到备份肯定想到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

浙公网安备 33010602011771号