攻防世界-web-新手区-simple_php
题吗
考查知识
对php代码的阅读、php弱比较
获取场景
思路
show_source() 函数对文件进行语法高亮显示。本函数是 highlight_file() 的别名。
include() (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。
大体分析一下代码
<?php
show_source(__FILE__); //对文件进行语法高亮显示
include("config.php"); //包含配置文件
$a=@$_GET['a']; //获取get方式提交的参数a的值
$b=@$_GET['b']; //获取get方式提交的参数b的值
if($a==0 and $a){ //如果变量a和数字0弱比较为真,并且a存在
echo $flag1; //输出flag1
}
if(is_numeric($b)){ //如果b是数字或者数字字符串
exit(); //退出
}
if($b>1234){ //如果b大于1234
echo $flag2; //输出flag2
}
?>
什么是php弱比较呢?
var_dump('a' == 0); //结果bool(true)。把a转化成数字,再和0比较,a转化失败得false,在bool类型中false=0,所以结果为true
var_dump('1a' == 1); //结果bool(true)。把1a转化成数字,字符串以数字开头,转化为该数字1,所以结果为true
var_dump('12a' == 1); //结果bool(false)。字符串以数字开头,转化成数字为12,12 != 1,所以结果为false
大致理解代码后,我们构造url http://111.200.241.244:63755/?a=‘0c’&b=1235cc,拿到flag
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?