simple php
<?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;
}
?>
"=="繞過
php中有兩種比較符號
=== 會同時比較字符串的值和類型
== 會先將字符串換成相同類型,再作比較,屬於弱類型比較
== 對於所有0e開頭的都為相等
is_numeric() 判斷變量是否為數字或數字字符串
is_numeric() 函數會判斷如果是數字和數字字符串則返回 TRUE,否則返回 FALSE,且php中弱類型比較時,會使('1234a' == 1234)為真,或者'12345%00',該函數還可能造成sql注入,例如將‘1 or 1'轉換為16進制形式,再傳參,就可以造成sql注入