题目:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码
打开后看到几行php代码:
<?php
show_source(__FILE__); //高亮显示代码
include("config.php"); //引用config.php,
$a=@$_GET['a']; //传值a,发生错误时不显示
$b=@$_GET['b']; //传值b,发生错误时不显示
if($a==0 and $a){
//如果a==0且a为真
echo $flag1; //输出第一部分flag
}
if(is_numeric($b)){
//如果b为数字或数字字符串
exit(); //退出(即b不可以为数字或者数字字符串)
}
if($b>1234){
//b>1234
echo $flag2; //输出第2部分flag
}
?>
所以说,这里我们要找一个值,即==0,又为真。
由于php为弱语言,他的“==”仅表示数值相等,而且当数字和字母组成的字符串与数字进行比较时,仅会以最前面的数字参与比较。所以我们编写一个变量a=0asdf,即a=0加上一串字母。同理b=一个大于1234的数字加上一串字母。
比较示例如下:
<?php
$a="0asdf";
$b="4444asdf";
if ($a==0) {
echo "a==0<br/>";
}else{
echo "a!=0<br/>";
}
if ($a) {
echo "a is true<br/>";
}else{
echo "a is false<br/>";
}
if (is_numeric($b)) {
echo "b is num<br/>";
}else{
echo "b isn\'t num<br/>";
}
if ($b>1234) {
echo "b > 1234<br/>";
}else{
echo "b !> b<br/>";
}
我们将 a和b的值带入,得到结果:Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}