bugku备份是个好习惯

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了。

猜你喜欢

转载自blog.csdn.net/qq_44832048/article/details/90671068