[ACTF2020 新生赛]BackupFile1
打开题目

利用disearch扫描,发现源文件index.php.bak
下载下来
打开文件

代码审计,翻译一下
翻译代码为:
<?php
include_once "flag.php"; //这一行使用 include_once 函数来包含(或插入)另一个 PHP 文件 "flag.php" 的内容。include_once 确保文件只被包含一次,即使它在多个地方被调用。这意味着 "flag.php" 文件中定义的任何变量或函数都将在当前文件中可用。
if(isset($_GET['key'])) //这一行检查 GET 请求中是否存在名为 'key' 的参数。$_GET 是一个 PHP 超全局变量,用于收集表单数据(HTML 表单)在 URL(地址栏)中发送的变量。isset() 函数检查变量是否设置且不为 NULL。
{
$key = $_GET['key']; //如果 'key' 参数存在,这行代码将其值赋给 $key 变量。
if(!is_numeric($key))
{
exit("Just num!"); //这两行代码检查 $key 是否为数字。如果不是数字,is_numeric() 函
数返回 false,然后 exit("Just num!") 将终止脚本执行并输出 "Just num!"。
}
$key = intval($key); //这行代码使用 intval() 函数将 $key 转换为整数。如果 $key 是数字
或数字字符串,intval() 将返回该数字的整数形式。
$str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3"; //这行代码定义了一个字符串
$str,它包含数字和字符的组合。
if($key == $str)
{
echo $flag; //这两行代码检查 $key 是否等于 $str。如果相等,它将输出 $flag 的值。由
于 $str 是一个包含非数字字符的字符串,这意味着只有在 $key 也是一个包含
相同字符的字符串时,这个条件才会为真。
}
}
else
{
echo "Try to find out source file!"; //如果 GET 请求中没有 'key' 参数,这个 else 块将
执行,输出 "Try to find out source file!"。
}
然后构造payload得到flag
构造payload url+/?key=123,得到flag

相关文章:
[ACTF2020 新生赛]BackupFile1
打开题目 利用disearch扫描,发现源文件index.php.bak 下载下来 打开文件 代码审计,翻译一下 翻译代码为: <?php include_once "flag.php"; //这一行使用 include_once 函数来包含(或插入)另一个 PHP …...
Springboot学习-day16
Springboot学习-day16 Springboot是spring家族中的一个全新框架,用来简化spring程序的创建和开发过程。在以往我们通过SpringMVCSpringMybatis框架进行开发的时候,我们需要配置web.xml,spring配置,mybatis配置,然后整…...
Map 31
...
dfs,CF 196B - Infinite Maze
一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 https://codeforces.com/problemset/problem/196/B 二、解题报告 1、思路分析 考虑如何判断一条路径可以无限走? 我们对朴素的网格dfs改进,改进为可以dfs网格外的区域 如果存在某个…...
鸿蒙应用框架开发【JS注入与执行】 Web
JS注入与执行 介绍 本示例基于H5游戏,通过arkui的button实现对游戏实现基本控制,展示webview的JS注入与执行能力,及native应用与H5的通信能力。 效果预览 使用说明 1.设备连接热点,可访问互联网。 2.打开应用,通过…...
AI问答:理解 DRG / Diagnosis Related Group / 按疾病诊断相关分组
DRG(Diagnosis Related Group)系统,中文译作“按疾病诊断相关分组”,是一种根据病情临床相似程度和资源消耗水平将住院病人进行分组的系统。以下是对DRG系统的详细理解: 一、定义与原理 1.1、定义:DRG系统…...
多个线程同时调用接口
1、线程的基本概念 线程是程序执行的最小单元。每个线程可以独立执行一段代码,与其他线程并行运行。Java提供Thread类和Runnable接口来创建和管理线程。 2、创建线程 1)继承Thread类并重写run()方法: class MyThread extend Thread{ pub…...
本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——1到手测试
本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——1到手测试 大家好,今天给大家带来的是购买到小车或者说RDK X3之后直接快速体验,今天主要围绕官方的快速入门手册进行逐步测试 1.知识补充1 在这里首先要给新手小白补充几…...
2024第三届钉钉杯大学生大数据挑战赛【A题】完整分享
2024第三届钉钉杯大学生大数据挑战赛已经开赛,小编给大家带来非常实用的助力【A题】完整,(看图片下方的说明),资料预览: 微信公众号...
下面关于数组排序的说明那项是错误的?
下面关于数组排序的说明那项是错误的? A. java.util.Arrays类提供有数组排序的支持方法:sort(); B. 通过java.util.Arrays类排序的对象所在类需要实现Comparable或Comparator接口; C. String数组可以进行排序,是因为St…...
【第二篇章】优秀的机器学习策略 超参数优化之决策树
在机器学习的浩瀚星空中,决策树作为一颗璀璨的星辰,以其直观易懂、解释性强以及高效处理分类与回归任务的能力,赢得了众多数据科学家与工程师的青睐。随着大数据时代的到来,如何从海量数据中提炼出有价值的信息,构建出…...
httprunner转载
基于 HttpRunner4.0 的接口自动化测试实践 测试之家 from httprunner import HttpRunner, Config, Step, RunRequest, RunTestCase # 配置数据库连接信息 config ( Config("database test") .variables( **{ "db_host": &…...
反序列化漏洞vulhub靶场serial
环境搭建 下载 https://download.vulnhub.com/serial/serial.zip 解压出来就是这种 你会得到一个这样的文件,这里使用VMware新建一个虚拟机,这里记录比较重要的几部分。 这里就是使用我们刚才下过来的。 漏洞过程详解 1.信息收集 打开靶机࿰…...
C++ 文件流详解
在 C 中,文件处理是一个常见且重要的任务。标准库提供了三种主要的文件流类来处理文件输入和输出:fstream、ifstream 和 ofstream。这些类都在 <fstream> 头文件中定义。 一、fstream 类 fstream 是文件流类的基类,既可以用于读操作&…...
docker compse简介与安装
目录 1. Docker Compose 简介 2. Docker Compose 安装 2.1 在 Ubuntu 上安装 Docker Compose 2.1.1 通过 apt 安装 2.1.2 使用官方脚本安装最新版本 2.2 在 CentOS 上安装 Docker Compose 2.2.2 使用官方脚本安装最新版本 2.2.3 使用 pip 安装 2.3 在 openEuler 上安装…...
基于深度学习的零样本学习
零样本学习(Zero-Shot Learning, ZSL)是深度学习中的一个前沿研究领域,其目标是在没有见过目标类别的样本的情况下,对这些新类别进行识别或分类。这种方法特别适用于在实际应用中存在大量未标注类别或新类别不断涌现的场景&#x…...
C++——list容器以及手动实现
LIST容器 list概述列表容器属性例子 list函数构造函数默认构造函数:带有元素个数和元素初值的构造函数:范围构造函数:拷贝构造函数:移动构造函数:示例 赋值运算符重载拷贝赋值操作符 (1):移动赋值操作符 (2…...
Win11系统文件资源管理器鼠标右键卡顿解决方法
引用链接: Windows 11文件资源管理器崩溃怎么解决?看看这7个解决办法!...
零基础学Python之 第十八讲 文件读写
当你开始学习Python编程时,文件读写是一个非常基础且重要的技能。本篇博客将引导你从零开始学习如何在Python中进行文件读写操作。 1. 打开文件 在Python中,要操作一个文件,首先需要打开它。使用内置的 open() 函数来打开文件,语…...
检索增强生成(RAG):智能内容生成的新纪元
引言 在大 AI 时代,生成式人工智能(GenAI)模型,尤其是大型语言模型(LLM),已经展现出了令人瞩目的能力。然而,这些模型在提供信息的准确、即时、专业、权威等方面仍存在局限。检索增…...
嵌入式与半导体年度技术趋势:从RISC-V、Matter到EDA 2.0与软件定义汽车
1. 从年度回顾看嵌入式与半导体行业的技术脉搏又到年底复盘时,各大技术媒体都在梳理过去一年的重磅内容。最近看到EE Times整理其编辑Nitin Dahad的2022年度六大精选故事,感触颇深。这六篇文章,像六个精准的切片,生动勾勒了过去一…...
ADI GitHub工程编译指南:以ADRV9009/ZC706为例,搞懂Tcl脚本工程的结构与自动化构建
ADI GitHub工程编译指南:深入解析Tcl脚本工程与自动化构建体系 当你在GitHub上打开Analog Devices的HDL仓库时,可能会被密密麻麻的Tcl脚本和Makefile文件搞得一头雾水。这种以脚本驱动的硬件项目组织方式,正逐渐成为开源硬件领域的标准实践。…...
【限时解密】Photoshop 25.5 Beta隐藏功能+Midjourney API私有化接入指南(含已验证Webhook配置模板与错误码速查表)
更多请点击: https://intelliparadigm.com 第一章:Midjourney与Photoshop整合方案的演进逻辑与架构全景 随着生成式AI在创意工作流中的深度渗透,Midjourney与Photoshop的协同已从“图像导出→手动精修”的离散模式,演进为基于API…...
开源项目可持续性挑战:从OpenOffice兴衰看企业技术选型策略
1. 开源软件的理想与现实:从OpenOffice的兴衰谈起几年前,当我听说Apache软件基金会(ASF)正在考虑让OpenOffice项目“退休”时,内心的震动是实实在在的。对于我们这些经历过世纪之交软件大战的老兵来说,Open…...
YouTube 转 MP3 工具里,为什么预览要放在下载前
很多转换工具看起来解决的是“我要一个 MP3 文件”,但真正影响体验的,往往不是页面上有没有下载按钮。 用户真正想确认的是:这个链接是不是被正确识别了,转换任务是不是还在进行,最后得到的音频是不是值得保存。对 Yo…...
基于MCP协议与向量数据库的AI代码记忆系统实战指南
1. 项目概述:当AI助手拥有“长期记忆”最近在折腾AI应用开发的朋友,可能都遇到过同一个痛点:你让Claude或者GPT帮你分析一个复杂的代码库,第一次对话时,它能把项目结构、核心逻辑讲得头头是道。但当你第二天再打开聊天…...
Agentfiles:统一管理AI编码助手技能文件的Obsidian插件
1. 项目概述:一个为AI编码助手打造的“技能管理中心” 如果你和我一样,同时在使用Claude Code、Cursor、Windsurf这些新一代的AI编码助手,那你一定也面临过同样的困扰:每个工具都有自己的一套“技能”(Skills…...
Linux 基础篇 -- Linux介绍(怎么读、是什么、创始人、吉祥物、发版本、目前存在的操作系统) Linux和Unix的关系 linux和Windows比较
Linux 基础篇 – Linux介绍(怎么读、是什么、创始人、吉祥物、发版本、目前存在的操作系统) & Linux和Unix的关系 & linux和Windows比较 文章目录 1. Linux介绍 1.1 Linux怎么读:1.2 Linux是什么:1.3 Linux创始人:1.4 Linux 的吉祥…...
智能设备语音交互进阶:从‘慢交互’到‘快交互’,详解ONESHOT模式下的音频残留音过滤实战
智能设备语音交互进阶:ONESHOT模式下的音频残留音过滤实战 在智能语音交互领域,ONESHOT模式已经成为提升用户体验的关键技术。这种允许用户在唤醒设备后无需二次唤醒即可直接下达指令的交互方式,正在重塑人机对话的自然流畅度。然而ÿ…...
QMC-Decoder深度解析:解锁QQ音乐加密音频的高效实战指南
QMC-Decoder深度解析:解锁QQ音乐加密音频的高效实战指南 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 在数字音乐版权保护日益严格的今天,你是否曾…...
