题目:
答案:
解析:
开启一个会话,在SESSION变量"nums"为空时则对"nums","time","whoami"进行赋值,并在120秒后关闭会话,创建一个变量"value"来接收_REQUEST['value']的值,为str_rand进行赋值为a-z并使用mt_rand函数随机抽取str_rand数组的两个下标对应的值,赋值给str_rands,如果我们_SESSION['whoami']的值等于value的值并且在value经过MD5加密后的第五位后的4位字符弱等于0则对$_SESION['nums']进行++操作。
并把str_rands生成的随机数赋值给_SESSION['whoami'],并,当$_SESSION['nums']的值大于10时输出flag。
我们要做的就是让$_SESSION['nums']>10,出题人已经贴心的对随机数进行输出,在这部分我们只需要进行数组绕过就好了。
MD5加密会随机生成字母和数字 如果数字开头就寄,所以我们用数组绕过。(前面有讲过)
反复进行十一次就ok。php支持字符串用下标表示字符位置。