Bugku:备份是个好习惯

这题对于我这小白来说,有点难想,这里做一下记录:

根据题目提示:备份是个好习惯,备份文件的扩展名为.bak,尝试输入http://123.206.87.240:8002/web16/index.php.bak,成功得到文件index.php.bak,内容如下:

$_SERVER['REQUEST_URI']:https://blog.csdn.net/wjciayf/article/details/52328601

$str = strstr($_SERVER['REQUEST_URI'], '?'):$str=当前url第一次出现?之后的内容。

$str = substr($str,1):去掉'?'

$str = str_replace('key','',$str):将str变量中出现的key替换成‘’(空字符串)

parse_str($str):http://www.w3school.com.cn/php/func_string_parse_str.asp

由parse_str($str)结合下面md5($key1)、md5($key2)得出,$str为get请求的参数内容,$str中替换掉‘key’之后分别为key1、key2,由此可以构造一下替换前的键名分别为:kkeyey1、kkeyey2(这样替换掉key之后就是key1、key2)

测试一下:

验证成功,要得到flag,则md5($key1)==md5($key2),但$key1!==$key2,在PHP中,md5()是不能处理数组的,md5(数组)会返回null,所以发送数组kkeyey1[]={123}、kkeyey2[]={456},即可构造出md5(数组)=md5(数组)=null。

发布了45 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_41327283/article/details/83311020
今日推荐