练习 2 Web [ACTF2020 新生赛]BackupFile 1
[ACTF2020 新生赛]BackupFile 1
Web常规题目
首先尝试查找常见的前端页面index.php之类的,没找到

题目有个“BackupFile”——备份文件
尝试用工具遍历查找相关的文件
御剑没扫出来,搜索搭建好dirsearch后,扫出来的index.php.bak
扫描工具dirsearch-master非常详细使用方法

直接去掉bak后缀,拿到了index.php页面的代码

这里我们输入的变量key是字符串
key在判断语句前进行了一次类型强转
intval()会强制取出字符串中的连续的整数
intval() 转换字符串类型时,会判断字符串是否以数字开头
如果以数字开头,就返回1个或多个连续的数字
如果以字母开头,就返回0
单双引号对转换结果没有影响,并且 0 或 0x 开头也只会当做普通字符串处理。
PHP intval()函数详解,intval()函数漏洞原理及绕过思路
这句 if($key == $str) 中,== 在PHP中是弱类型比较,自动进行数值比较
当两个操作对象都是 数字字符串, 或一个是数字另一个是 数字字符串, 就会自动按照数值进行比较。 此规则也适用于 switch 语句。
当比较时用的是 === 或 !==, 则不会进行类型转换——因为不仅要对比数值,还要对比类型。
PHP:比较运算符
str开头为‘123’,!is_numeric()的存在,直接输入key=123,尝试
成功

相关文章:
练习 2 Web [ACTF2020 新生赛]BackupFile 1
[ACTF2020 新生赛]BackupFile 1 Web常规题目 首先尝试查找常见的前端页面index.php之类的,没找到 题目有个“BackupFile”——备份文件 尝试用工具遍历查找相关的文件 御剑没扫出来,搜索搭建好dirsearch后,扫出来的index.php.bak 扫描工…...
【python】subprocess用法示例
当然,下面是一些使用 Python subprocess 模块的示例: 1. 运行命令并捕获输出 import subprocess # 运行 ls 命令并捕获输出 result subprocess.run([ls, -l], stdoutsubprocess.PIPE, stderrsubprocess.PIPE, textTrue) # 获取命令的输出和错误信息 o…...
Socket网络编程(三)——TCP快速入门
目录 概述TCP连接可靠性1. 三次握手过程2. 四次挥手过程3. 为什么挥手需要四次? 传输可靠性TCP核心APITCP传输初始化配置&建立连接客户端创建Socket建立连接服务端创建ServerSocket监听连接ServerSocket 和 Socket的关系 Socket基本数据类型传输客户端数据传输服…...
皇冠测评:网络电视盒子哪个品牌好?电视盒子排行榜
欢迎各位来到我们的测评频道,本期我们要分享的产品是电视盒子,因很多网友留言不知道网络电视盒子哪个品牌好,我们通过为期一个月的测评后整理了电视盒子排行榜,想买电视盒子的可以看看下面这五款产品,它们各方面表现非…...
simple-pytest 框架使用指南
simple-pytest 框架使用指南 一、框架介绍简介框架理念:框架地址 二、实现功能三、目录结构四、依赖库五、启动方式六、使用教程1、快速开始1.1、创建用例:1.2、生成py文件1.3、运行脚本1.3.1 单个脚本运行1.3.2 全部运行 1.4 报告查看 2、功能介绍2.1、…...
React中使用useActive
1.引入 import { useActivate } from "react-activation";2.React Activation 在React中使用react-activation,其实就是类似于Vue中的keep-alive,实现数据的缓存; 源码: import { ReactNode, ReactNodeArray, Context, Component…...
ElasticSearch安装和kibana控制台安装
文章目录 简介ElasticSearch安装环境下载参数密码配置启动 kibana安装修改config/kibana.yml配置 简介 Elasticsearch 是一个分布式文档存储。Elasticsearch 是存储已序列化为 JSON 文档的复杂数据结构。当集群中有多个 Elasticsearch 节点时,存储的文档分布在整个…...
VSCode安装与使用详细教程
一、引言 简要介绍VSCode(Visual Studio Code)是什么,它的主要特点和用途,以及为什么选择VSCode作为代码编辑器。 二、下载与安装 访问VSCode官方网站下载页面。选择适合操作系统的版本(Windows、macOS、Linux&…...
土壤墒情监测站的工作原理
TH-TS600】土壤湿度监测系统是一种用于实时监测土壤湿度的设备系统,通过多个传感器和数据采集设备组合而成。该系统能够安装在农田、果园、草地等不同类型的土壤中,实时监测土壤的水分含量,并将数据传输到数据采集设备中进行记录和分析。 土…...
Flutter 多标签页显示 有关TabController需要知道的知识
背景 很多应用都需要导航栏加多个标签页的方式来构建一个多页显示逻辑,比如购物软件常有:已完成,已发货,待付款三个顶部导航按钮,点击则下面的页面显示不同属性的订单 正文 在flutter中,实现这样的功能需…...
【Elasticsearch专栏 16】深入探索:Elasticsearch的Master选举机制及其影响因素分析
Elasticsearch,作为当今最流行的开源搜索和分析引擎,以其分布式、可扩展和高可用的特性赢得了广大开发者的青睐。在Elasticsearch的分布式架构中,集群的稳健性和高可用性很大程度上依赖于其Master节点的选举机制。本文将深入剖析Elasticsearc…...
Leetcode : 215. 数组中的第 K 个最大元素
给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 思路:最开始排序算法&…...
node express实现Excel文档转json文件
有些场景我们需要将Excel文档中的内容抽取出来生成别的文件,作为一个前端,服务框架最应该熟悉的就是node了,以下是基于多语言转换实现代码,看明白原理自己改一改就能用了 1.安装node环境 2.创建一个文件夹,文件夹中创建…...
【算法分析与设计】最大二叉树
📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最…...
面试问答总结之并发编程
文章目录 🐒个人主页🏅JavaEE系列专栏📖前言:🎀多线程的优点、缺点🐕并发编程的核心问题 :不可见性、乱序性、非原子性🪀不可见性🪀乱序性🪀非原子性…...
红外测温仪芯片方案开发设计
红外测温仪由光学系统、光电探测器、信号放大器及信号处理、显示输出等部分组成。光学系统汇集其视场内的目标红外辐射能量,视场的大小由测温仪的光学零件以及位置决定。被测物体辐射的红外首先进入测温仪的光学系统,再由光学系统汇聚射入的红外线&#…...
五、数组——Java基础篇
五、数组 1、数组元素的遍历 1.1数组的遍历:将数组内的元素展现出来 1、普通for遍历:根据下表获取数组内的元素 2、增强for遍历: for(数据元素类型 变量名:数组名){ 变量名:数组内的每一个值…...
如何用golang写一个自己的后端框架
如果你想要不使用任何现有的后端框架,完全从头开始创建一个后端框架,你需要实现Web服务器的基本组件,比如路由器、请求处理、中间件支持等。以下是一个简单的指南,用于创建一个基本的、不使用任何外部框架的Go后端框架。 步骤 1: 设置工作环境 确保你已经安装了Go语言环境…...
linux 如何给服务器批量做免密,如何批量挂在磁盘
前提条件 所有机器网络互通,且已做了免密登录 linux服务器批量做免密脚本如下 #!/bin/bash # 定义服务器列表文件 SERVERS_FILE"host" # 定义生成的密钥的存储目录 KEY_DIR"/root/.ssh" # 检查是否输入了文件路径 if [ $# -ne 1 ]; then …...
Android Activity的生命周期详解
在Android开发中,了解Activity的生命周期是非常重要的,它决定了Activity在不同状态下的行为和处理逻辑。Android中的Activity生命周期包括多个方法,每个方法都代表了Activity在特定状态下的行为。下面我们来逐一介绍这些方法及其对应的生命周…...
JPEXS Free Flash Decompiler:终极SWF反编译工具,轻松提取Flash文件资源
JPEXS Free Flash Decompiler:终极SWF反编译工具,轻松提取Flash文件资源 【免费下载链接】jpexs-decompiler JPEXS Free Flash Decompiler 项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler 还在为那些无法打开的旧版Flash文件而烦…...
别再只看CPU跑分了!手把手教你用Stream测出内存的真实带宽(附调优参数详解)
内存带宽测试实战指南:用Stream揭开硬件性能的隐藏真相 当大多数开发者还在用CPU跑分作为性能评估的唯一标准时,真正的性能优化专家已经开始关注另一个关键指标——内存带宽。想象一下这样的场景:你精心优化的算法在测试环境中运行流畅&…...
别再只调参了!用进化算法给DDPG当“外挂”,解决强化学习探索难题(附PyTorch代码)
进化算法与DDPG的协同进化:突破强化学习探索瓶颈的工程实践 在机器人控制、游戏AI等需要连续动作决策的场景中,深度确定性策略梯度算法(DDPG)因其出色的表现而广受欢迎。然而,许多工程师在实际项目中都会遇到这样的困…...
告别Breakpad!在Qt项目中迁移到Google Crashpad的完整指南与踩坑实录
从Breakpad到Crashpad:Qt项目崩溃捕获系统升级实战手册 当你的Qt应用程序在客户现场突然崩溃时,能否快速定位问题可能决定了用户留存率。过去十年间,Google Breakpad一直是C开发者捕获崩溃信息的首选工具,但随着技术演进ÿ…...
HFSS脚本语法避坑指南:从‘属性包’到报告导出,新手最常踩的5个雷
HFSS脚本语法避坑指南:从属性包到报告导出的5个关键陷阱 第一次打开HFSS脚本编辑器时,那种既兴奋又忐忑的心情我至今记忆犹新。作为一个从GUI操作转向脚本自动化的工程师,我原以为掌握了Python就能轻松驾驭HFSS脚本,结果却被Iron…...
2025_NIPS_RAGRouter: Learning to Route Queries to Multiple Retrieval-Augmented Language Models
文章主要内容总结 该研究聚焦检索增强生成(RAG)场景下的大语言模型(LLM)路由问题,提出了首个RAG感知的路由框架RAGRouter。核心解决现有路由方法依赖静态参数知识、忽略检索文档动态影响的缺陷,通过融合文档嵌入、RAG能力嵌入与对比学习,捕捉RAG引发的模型知识表征变化…...
BaiduPCS-Go 终极指南:高效命令行管理百度网盘的完整方案
BaiduPCS-Go 终极指南:高效命令行管理百度网盘的完整方案 【免费下载链接】BaiduPCS-Go iikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能 项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go 还在为百度网盘的下载限速而烦恼&…...
别再硬刚scroll-view了!盘点微信小程序那些更香的滚动方案:page、swiper与自定义组件
微信小程序滚动方案深度选型:超越scroll-view的架构思考 第一次在小程序里实现商品列表无限加载时,我也曾整夜调试着scroll-view的诡异空白间隙。直到某次性能测试中,发现原生页面滚动的FPS始终比scroll-view高出15帧,才意识到这个…...
终极指南:如何用GPSTest精准测试手机卫星导航性能
终极指南:如何用GPSTest精准测试手机卫星导航性能 【免费下载链接】gpstest The #1 open-source Android GNSS/GPS test program 项目地址: https://gitcode.com/gh_mirrors/gp/gpstest 你的手机GPS到底有多准?🌍 通过GPSTest这款顶级…...
LayerDivider:一键式智能分层革命,让插画师告别手工抠图时代
LayerDivider:一键式智能分层革命,让插画师告别手工抠图时代 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 想象一下这样的场景&…...
