bugku-前女友

bugku-前女友_第1张图片
bugku-前女友_第2张图片

发现一段代码:



想了解关于strcmp()函数漏洞可以看下面这篇文章
https://blog.csdn.net/dyw_666666/article/details/82349432


根据php代码,以GET形式传递3个值,其中v1变量值 != v2变量值,if中的第二个判断条件用的是 ==,我们可以利用 “0x” == "0a"的判断结果为1,找出经过加密后的两个md5值以0开头,接下去以都相同的值,直到遇到的字母的两个字符串相等 v3 == flag


可以通过
PHP处理0e开头md5时hash字符串漏洞
来构造,下面这篇文章中有关于这个的构造
https://blog.csdn.net/dyw_666666/article/details/82348564
构造:index.php?v1[]=QLTHNDT&v2[]=UTIPEZQ&v3[]=EEIZDOI


并且,在PHP中
MD5是不能处理数组的,md5(数组)会返回null,所以md5(a[])==null,md5(b[])==null,md5(a[])=md5(b[])=null,这样也可以得到答案了。
构造:index.php?v1[]=1&v2[]=2&v3[]=3

你可能感兴趣的:(Code,Audit,CTF)