题目如下
$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}
is_numeric在num是数字或数字字符串的时候返回1
所以这个题目要得到flag 既需要num不是数字字符串 又需要是1
但注意下面的是php里面的弱等于== 而不是强等于===
在弱等于判断机制里 会发生类型转换 1 == 1abc也是对的
可以在数字后面加上空运算符%00或者空格%20或者加个字符a,)之类的都可以
三目运算符1?2:0也可以
最离谱的是1+1都可以
请求方式是get,所以我们直接在地址栏输入
url/1%00
url/1%20
url/1?2:0
url/1a
.........
其中的一个都可以让页面显示flag