题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
题目场景:http://61.147.171.105:52527
代码:
<?php show_source(__FILE__); include("config.php"); $a=@$_GET['a']; $b=@$_GET['b']; if($a==0 and $a){ echo $flag1; } if(is_numeric($b)){ exit(); } if($b>1234){ echo $flag2; } ?>
分析
1|show_source(__FILE__)
对文件进行语法高亮显示。直接在目录里执行。
2|include(“config.php”);
引用config.php文件
下面两行为
get一个a值和一个b值
$a==0 and $a
分析:如果 a = = 0 和 a==0和 a==0和a都为真则输出flag1
- == 在进行比较的时候,会先将字符串类型转化成相同,再比较
- 如果一个数值和字符串进行比较的时候,会将字符串转换成数值
- === 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较
if(is_numeric($b))
分析:如果b不是数字或者数字型字符串则推出。
if($b>1234)
分析:如果b>1234则输出flag2.
所以在url输入/?a=qwer&b=6666a