CTF-PHP代码分析
一.题目 小宁听说php是最好的语言,于是她简单学习之后写了几行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的框架<?php;?>。其中 show_source是定义的一个函数,具体函数是干啥的,还是要看函数体;
include...这个也是php的一个格式;接下来,就是参数的传值了,有a和b两个参数,在参数之后,就是对参数值的判断了,很明显,判断对了就会出现 flag。
在第一个if的地方,就是将a和0进行比较,返回Ture就可以了;
第二个if是一个函数 is_numeric() ;这个函数是判断是否为纯数字的;所以b ,肯定不是纯数字;
第三个if,是对b的值进行判断,且 b的值要大于1234.
综上,所以a可以为 b;b可以为 数字+字母 的形式,列如 b=6666a
欢迎一起交流。