当前位置: 首页 > news >正文

[ACTF2020 新生赛]BackupFile--详细解析

信息搜集

在这里插入图片描述让我们寻找源文件,目录扫描:
在这里插入图片描述
找到了/index.php.bak文件,也就是index.php的备份文件。
后缀名是.bak的文件是备份文件,是文件格式的扩展名。
我们访问这个路径,就会直接下载该备份文件。

我们把.bak后缀删掉,就能得到源文件:

//index.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!";
}

代码审计

is_numeric() 检测变量是否为数字或数字字符串;
intval() 函数用于获取变量的整数值
最后将我们传入的参数的整数值与$str进行弱类型比较,正确的话就会获得flag.

key=123

在这里插入图片描述
得到flag.

http://www.lryc.cn/news/494752.html

相关文章:

  • 循环神经网络(RNN)简述
  • 九、Ubuntu Linux操作系统
  • SpringBoot 新冠密接者跟踪系统:校园疫情防控的智能守护者
  • 【Ubuntu】E: Unable to locate package xxx
  • vue多页面应用集成时权限处理问题
  • Socket编程(TCP/UDP详解)
  • qt QConicalGradient详解
  • 存储过程与自然语言处理逻辑的不同与结合
  • 了解Linux —— 理解其中的权限
  • 知识图谱嵌入与因果推理的结合
  • STM32 PWM波形详细图解
  • Python Web 开发 FastAPI 入门:从基础架构到框架比较
  • 基于STM32的智能仓库管理系统设计
  • 排序算法--堆排序【图文详解】
  • FCBP 认证考试要点摘要
  • 鸿蒙生态崛起的机遇有什么
  • 基础(函数、枚举)错题汇总
  • 【Spark源码分析】规则框架- `analysis`分析阶段使用的规则
  • mysql--二进制安装编译安装yum安装
  • 《Django 5 By Example》阅读笔记:p339-p358
  • 鸿蒙修饰符
  • springboot359智慧草莓基地管理系统(论文+源码)_kaic
  • 单片机位数对性能会产生什么影响?!
  • stm32内部高速晶振打开作为主时钟
  • 【分页查询】.NET开源 ORM 框架 SqlSugar 系列
  • 【CSS in Depth 2 精译_061】9.4 CSS 中的模式库 + 9.5 本章小结
  • 惠普电脑切换默认F1至F12快捷键,FN切换
  • 计算机的错误计算(一百七十)
  • Python `async def` 函数中使用 `yield` 和 `return` 的区别
  • JAVA修饰符