web93
<?php
/*
# -*- coding: utf-8 -*-
# @Author: Firebasky
# @Date: 2020-09-16 11:25:09
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-18 16:32:58
# @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(intval($num,0)==4476){
echo $flag;
}else{
echo intval($num,0);
}
}
知识点:
进制转换
除了将十进制数转化为整数之外,intval() 函数还可以实现不同进制之间的转换(2进制、8进制、16进制)。在这种情况下,需要显式指定 $base 参数的值。例如:
echo intval('1100', 2); // 12(二进制)
echo intval('14', 8); // 12(八进制)
echo intval('C', 16); // 12(十六进制)
还有一个比较特殊,
如果intval第二个参数是0,,那么你就可以自由根据你的需求去谢你需要的进制
比如
?c=0x117c(十六进制)
?c=010574(八进制)
其实就是进制表示的方法
知识点内容来自:

最低0.47元/天 解锁文章
313

被折叠的 条评论
为什么被折叠?



