ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BUU[ACTF2020 新生赛]BackupFile

2021-11-30 21:34:33  阅读:260  来源: 互联网

标签:ACTF2020 bak BUU 数值 备份文件 BackupFile 字符串 php 比较


backup文件也叫系统备份文件,它的做作用是:拷贝到存储介质上的文件,可以帮助保护数据,以防其在系统硬件或存储介质出现故障时受到破坏。

那么搜索一下备份文件后缀名,如果网站存在备份文件,常见的备份文件后缀名有:“.git” 、“.svn”、“ .swp”“.~”、“.bak”、“.bash_history”、“.bkf” 尝试在URL后面,依次输入常见的文件备份扩展名。这里也可以用御剑或者其他扫描文件得到后缀为.bak

 

加上index.php.bak后发现index的php代码:
 

<!--?php
include_once "flag.php";

if(isset($_GET['key'])) {//以GET形式获得KEY变量
    $key = $_GET['key'];
    if(!is_numeric($key)) {//判断key是否为数值或者数字字符串,无论十进制亦或十六进制也行
        exit("Just num!");
    }
    $key = intval($key);//intval — 获取变量的整数值
    $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
    if($key == $str) {//双等号是弱比较类型
        echo $flag;
    }
}
else {
    echo "Try to find out source file!";
}

php 弱类型总结 - Mrsm1th - 博客园

0x02 知识介绍

php中有两种比较的符号 == 与 ===

1 <?php
2 $a = $b ;
3 $a===$b ;
4 ?>

=== 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较

== 在进行比较的时候,会先将字符串类型转化成相同,再比较

如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行

这里明确了说如果一个数值和字符串进行比较的时候,会将字符串转换成数值

则str这里在进行弱比较时转化为了123,所以key=123即可得到flag

 

flag{3f7d3c1c-275f-4655-a96e-48feb3147e1c}

 

标签:ACTF2020,bak,BUU,数值,备份文件,BackupFile,字符串,php,比较
来源: https://blog.csdn.net/SSDZLDL/article/details/121642117

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有