payload:+010574 八进制;+0x117c 十六进制
值得注意的是interval的base参数如果自己写上去的话,你输入16或者8进制内容他会给你转换
但是如果你不输入,也就是让他默认的方式执行的话他就只会返回0,如下图
审计
include("flag.php");
highlight_file(__FILE__);
if(isset($_GET['num'])){
$num = $_GET['num'];
if($num==4476){
die("no no no!");
}
if(preg_match("/[a-z]|\./i", $num)){
die("no no no!!");
}
if(!strpos($num, "0")){
die("no no no!!!");
}
if(intval($num,0)===4476){
echo $flag;
}
}
ctfshow{cd5a9c29-1e5f-4e84-8d66-6b2061f0eda4}