攻防世界-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

 

posted @   我还没有家  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示