源码
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-16 11:25:09
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-18 16:53:59
# @link: https://ctfer.com
*/
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;
}
}
思路
.
也被过滤了,不过还是可以用8进制的,关键点在于
if(!strpos($num, "0")){
die("no no no!!!");
}
0不存在返回-1,0在第一个返回0
如果我们在开头补一个+, +010574
就会返回1了
题解
`num=+010574`总结
水题