ctf-web-bugku-矛盾
$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}
题目如上
看到函数is_numeric(),由于我并不熟悉这个函数,所以我进行了查询
得知他是用于判断括号中的num是否为数字或数字字符串,若是则返回true,不是则返回false
阅读本题代码可知,我们需要让num等于1,才能得到flag,但如果num等于1就不会执行最外面的if语句,就无法得到flag,因此我想到能不能绕过is_numeric()函数。
查询得知可以借助url中的空字符来绕过,比如%00 这样我们就把数字变成了非数字,且num等于1
在地址栏中输入/?num=1%00 即得到flag

浙公网安备 33010602011771号