题目描述:
先查看源码
可以看到链接那两个字是另外的跳转路径,回到首页点击“链接”这两个字
看到代码分析出,要传入三个参数,v1、v2、v3,分别满足v1v2的值不相等但是md5相等,经典的md5绕过,找两个字符串md5后为0e开头的即可,0e开头的数字会被当成科学计数法,0的多少次方都是0,因此相等。v3则是用strcmp函数跟flag的值比较,最后相等返回flag
strcmp函数会比较两个字符串类型,如果两个相等返回零,但是如果传入的参数不是字符串也会报错,这样就可以巧妙的绕过
构造payload
?v1=s878926199a&v2=s155964671a&v3[]=11
最后得到flag
注意,一开始我点击链接竟然没有跳转,我还以为做了什么另外的跳转,搞了半天把index.php删了直接加上code.txt就看到代码了,然后payload尝试了半天发现要在index.php/code.txt下面才能得到flag(直接index.php后也可以), 得到flag以后发现直接点击链接就可以跳转看到代码了
原因是一开始手抖加上了index.php,这样没有index.php/code.txt这个文件所以跳转失败,犯蠢了