bugku--备份是个好习惯
打开链接之后发现是一串字母,而且还是重复的两段
题目既然是备份是个好习惯,那应该与文件文件有关,在链接后面加上index.php.bak,然后下载这个文件包,以记事本的方式打开,得到
代码的意思就是从?开始截断,取?与之后的部分,然后再将?去掉,再把key去掉。
***parse_str() 函数的作用是把查询字符串解析到变量中。例如输入?kkeyey=2 经过以上步骤到达parse_str之后是parse_str('key=2'),相当于$key=2
源代码的意思就是既要2个key的值不相等又要他们的md5值相等。虽然存在这样的碰撞域,但是思路肯定不是一直暴力破解的。
整段代码的意思是将get的两个参数中的key替换为空(这里可以用kekeyy绕过),然后对key1,key2的值进行md5加密,并进行比较,
如果md5加密的值一样而未加密的值不同,就输出flag.
(不知道为啥是MD5加密吗?看到上面的图有木有,
echo md5($key1);
echo md5($key2);
明显的喽
)
用MD5解密后出现空字符,md5()函数无法处理数组,如果传入的为数组,会返回NULL,所以两个数组经过加密后得到的都是NULL,也就是相等的。
在链接后面加上?kkeyey1[]=1&kekeyey2[]=a
出现flag了。