点开题目链接后发现是代码审计;
这道题有两种思路:
-利用%00截断
这个也是ereg函数一个漏洞,类似于0x00截断,都是因为这些函数遇到ASCII码为0的字符时,会自动默认到了结尾而停止;
这里有一个需要注意的:我们构造的flag是需要一层url解码的,#
在url中是特殊字符,因此我们需要先将#
编码为%23
- 利用ereg和strpos函数处理数组的特性
当ereg函数处理数组时,会直接返回NULL,而===
又是强判断,NULL自然不等于FALSE,因此绕过第一个条件;
strpos函数也无法处理数组,直接返回NULL;
因此构造?nctf[]=%23biubiubiu
即可得到flag: