备份是个好东西:

线索

  1. 发现两串相同的字符连接在一起

MD5的结果是:undefine

2、题目提示“备份”:     想到.bak

       尝试flag.php.bak -----错误

做题过程:

御剑扫后台:

BUGKU 备份是个好习惯

打开后没有特殊字符串

尝试备份文件---index.php.bak

BUGKU 备份是个好习惯

<?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 = substr($str,1);

//获取?之后的值

$str = str_replace('key','',$str);

//查询的值中中以空格替换key

parse_str($str);

echo md5($key1);

echo md5($key2);

if(md5($key1) == md5($key2) && $key1 !== $key2){

    echo $flag."取得flag";

}

?>

当查询的Key1变量的MD5值等于key2变量的MD5的值时打印flag

md5函数处理数组时有总返回NULL的特性

所以构造:

?$kkeyey[]=1&&$kekeyy[]=2

两数组的MD5都是“UNDEFINE”

而两个变量的值又不相等

得出flag

 

 

看 EustiaSoraCSDN博客上的,也实践下其他工具,加深下记忆

 BUGKU 备份是个好习惯

访问得代码

相关文章: