[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}

相关推荐
qq_28427405几秒前
电气控制与PLC·HMI触摸屏组态与自动伸缩门控制系统 CSDN发布稿
笔记·学习·自动化
xier_ran18 分钟前
【infra之路】AI 编译器学习笔记(七):Linalg 与 Tiling——把迭代空间切成块
人工智能·笔记·学习
承渊政道29 分钟前
Linux网络学习【应用层自定义协议与序列化实战:从手写序列化与反序列化到深入理解进程间关系与守护进程】
linux·网络·学习·ubuntu·json·序列化与反序列化
你想知道什么?36 分钟前
标准化与归一化-学习笔记
笔记·学习
星恒随风41 分钟前
Linux进程信号(一):从Ctrl+C到kill、raise、alarm,深入理解信号的概念与产生原理
linux·c语言·笔记·学习·状态模式
2603_969579281 小时前
怎样取消电脑上的自动备份?不同来源的关闭方法
学习
CV@CV1 小时前
世界模型环境预测与内在表征基础原理
人工智能·学习·边缘计算·量子计算·具身智能
知识分享小能手1 小时前
C学习教程,从入门到精通,C语言数组 —— 知识点详解(8)
c语言·学习·算法
卿卿的产品经理日记1 小时前
【AI产品经理实战】Day 34|计算机科学速成②:从水流开关到 Unicode,把整个电脑拆成一长串 0 和 1
人工智能·笔记·科技·学习·产品经理
星恒随风2 小时前
Linux进程信号(二):深入理解信号阻塞、未决、sigaction、中断机制、可重入函数与SIGCHLD
linux·运维·服务器·笔记·学习