文章目录
-
- 代码解读
- PHP弱语言特性
- 正文
-
- 参数a限制绕过
- 参数b限制绕过
题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
代码解读
$a=@$_GET['a'];
从HTTP GET请求参数中获取一个名为a的变量,并将其赋值给变量a。@符号用于禁止错误输出,如果不存在参数a则会将变量a设置为NULL。
$b=@$_GET['b'];
从HTTP GET请求参数中获取一个名为b的变量,并将其赋值给变量b。
if($a==0 and $a){ echo $flag1; }
如果变量a等于0并且a存在,则输出变量flag1的值。但是由于a不可能同时为0和存在,因此这个if语句不会执行。
if(is_numeric($b)){ exit(); }
如果变量b是一个数字,则终止程序的执行。
if($b>1234){ echo $flag2; }
如果变量b的值大于1234,则输出变量flag2的值。