BUUCTF之[ACTF2020 新生赛]BackupFile

打开环境就一句话

找出源文件!

结合题目名字:BackupFile

先用dirsearct扫描网站文件

发现一个index.php.bak ,拼接url下载

打开发现php代码

复制代码
<?php
include_once "flag.php";

if(isset($_GET['key'])) {
    $key = $_GET['key'];
    if(!is_numeric($key)) {
        exit("Just num!");
    }
    $key = intval($key);
    $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
    if($key == $str) {
        echo $flag;
    }
}
else {
    echo "Try to find out source file!";
}
1.if(isset($_GET['key'])) { ... }
  • 作用 :检查 URL 中是否有 key 参数(例如 ?key=123)。

  • $_GET['key'] :获取用户通过 GET 方法传递的 key 参数值。

  • isset() :检查变量是否已设置且非 null

2. if(!is_numeric($key)) { exit("Just num!"); }

  • 作用 :检查 $key 是否是数字或数字字符串(如 "123"42),如果不是,则终止脚本并输出 "Just num!"

  • is_numeric() :判断变量是否为数字或数字字符串(允许 "123""0xFF""1e3" 等形式)。

    ?key=123a 会被 is_numeric() 拒绝,因为 is_numeric() 不允许字符串中包含非数字字符 (除了科学计数法 "1e3" 或十六进制 "0xFF" 等特殊情况)。

示例

  • ?key=123 → 通过

  • ?key=abc → 输出 "Just num!" 并终止

3.$key = intval($key);
  • 作用 :将 $key 强制转换为整数(丢弃非数字部分)。

  • intval()

    • "123"123

    • "123abc"123

    • "abc123"0

示例

  • ?key=123abc$key = 123

  • ?key=abc123$key = 0

4. $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
  • 作用 :定义一个字符串变量 $str,用于后续比较。
5.. if($key == $str) { echo $flag; }
  • 作用 :如果 $key$str 弱类型相等==),则输出 $flag

= = 为弱相等,即当整数和字符串类型相比较时。会先将字符串转化为整数然后再进行比较。比如a=123和b=123admin456进行= =比较时。则b只会截取前面的整数部分。即b转化成123。

也就是说key等于123就会==str

输入的key的值123,就能得到flag

相关推荐
liulilittle5 分钟前
加密扩展记录 37B(含头口径):Go TLS 栈形态特征的适用域与配对勘误
网络·网络协议·计算机网络·网络安全·通信·tls·reality
xierui12312333 分钟前
Anthropic安全复盘:会操作电脑的 Agent 如何分阶段上岗
人工智能·网络安全·架构·系统架构
黄金龙PLUS40 分钟前
ASCON置换算法的优缺点
算法·网络安全·密码学·哈希算法·同态加密
杨浦老苏1 小时前
群晖 Docker 部署 LAN-Sheriff:实时监控局域网设备对外连接
网络安全·docker·监控·群晖·网络监控
芯盾时代10 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(二)
安全·web安全·网络安全
Best-Wishes2 天前
BurpSuite Pro教育版在linux系统中配置
linux·运维·服务器·网络安全·burpsuite
菩提小狗2 天前
每日安全情报报告 · 2026-08-30
网络安全·漏洞·cve·安全情报·每日安全
黄俊懿3 天前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第八节:网关-注入攻击与预防
sql·网络安全·架构·系统架构·架构师·架构设计
黄俊懿3 天前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第七节:网关-XSS攻击与预防
网关·网络安全·架构·系统架构·架构师·xss·架构设计
数据知道3 天前
.NET 反序列化漏洞——ViewState 与 BinaryFormatter 实战深度剖析
网络·网络安全·.net