电子商务网站规划建设与管理,六安做网站公司,手机网站内容管理,wordpress菜单导入导出访问靶场
这里传入a和b参数#xff0c;绕过三个if即可拿到flag a a a_GET[ a’ ];中是抑制报错信息的。 第一个if非常的抽象#xff0c;
if($a0 and $a){echo $flag1;
}处理a
要输出flag1,a0#xff0c;但是#xff0c;在php中0被视为假也就是Flase 如果a0#xff0…访问靶场
这里传入a和b参数绕过三个if即可拿到flag a a a_GET[ a’ ];中是抑制报错信息的。 第一个if非常的抽象
if($a0 and $a){echo $flag1;
}处理a
要输出flag1,a0但是在php中0被视为假也就是Flase 如果a0则if(1and0)这个if语句任然为假不会输出flag。 PHP 会进行类型转换如果 $a 的值是字符串如 asa则会被转换为 0 进行比较。在 PHP 中非数字字符串在进行数值比较时被视为 0 这样就绕过a了。
处理b
if(is_numeric($b)){exit();
}此处b不能为数字准确的说不能为纯数字不然就会执行exit函数。
if($b1234){echo $flag2;
}若要进入第三个if语句则b经过处理后一定是有一个值可以与数字比大小 在进行比较时PHP 会尝试将 $b 转换为一个数字。 字符串 如12345a 在转换为数字时PHP 会从字符串的开始部分读取数字直到遇到非数字字符为止。在这个例子中“12345a” 会被转换为 12345。
成功