攻防世界 fileclude

embedded/2025/2/4 15:38:45/

代码审计

WRONG WAY! <?php
include("flag.php");
highlight_file(__FILE__);//高亮显示文件的源代码
if(isset($_GET["file1"]) && isset($_GET["file2"]))//检查file1和file2参数是否存在
{$file1 = $_GET["file1"];$file2 = $_GET["file2"];if(!empty($file1) && !empty($file2)){if(file_get_contents($file2) === "hello ctf"){include($file1);//如果file2文件的内容是"hello ctf",会执行include($file1)}}elsedie("NONONO");
}

总结:include($file1)会包含file1指定的文件,可能会有flag。所以我们要达到file2=hello ctf的要求,file2被放入了file_get_contents() 函数,所以我们要绕过这个函数。可以使用php://input进行绕过 

PHP语言提供了一个特殊的输入流——php://input,它能够让我们获取未经处理的POST请求体数据。使用php://input的优势在于它允许开发者绕过PHP的常规输入过滤机制,直接读取原始的POST数据

所以payload为:

?file1=php://filter/read/convert.base64-encode/resource=flag.php&file2=php://input

同时post传入hello ctf(推荐使用hackbar插件)

参考大佬的方法也可以使用data://协议构造payload

 

然后拿到出现base64编码,进行在线解码得到fiag


http://www.ppmy.cn/embedded/159505.html

相关文章

【Pytorch和Keras】使用transformer库进行图像分类

目录 一、环境准备二、基于Pytorch的预训练模型1、准备数据集2、加载预训练模型3、 使用pytorch进行模型构建 三、基于keras的预训练模型四、模型测试五、参考 现在大多数的模型都会上传到huggface平台进行统一的管理&#xff0c;transformer库能关联到huggface中对应的模型&am…

C++类的初始化列表是怎么一回事?哪些东西必须放在初始化列表中进行初始化,原因是什么?

目录 01-C类的初始化列表的概要介绍语法为什么使用初始化列表&#xff1f;示例代码小结 02-初始化列表是写在构造函数的函数体之前的代码的**1. 结构分析****2. 示例&#xff1a;基类 成员变量****输出** **3. 初始化列表 vs 构造函数体****(1) 使用初始化列表****(2) 在构造函…

Java中的泛型及其用途是什么?

Java中的泛型&#xff08;Generics&#xff09;是Java语言在2004年引入的一项重要特性&#xff0c;用于增强代码的类型安全性和复用性。泛型允许程序员在定义类、接口或方法时指定类型参数&#xff0c;从而实现对不同数据类型的统一操作。本文将详细探讨Java泛型的概念、用途以…

Vue.js组件开发-实现左侧浮动菜单跟随页面滚动

使用 Vue 实现左侧浮动菜单跟随页面滚动 实现步骤 创建 Vue 项目&#xff1a;使用 Vue CLI 创建一个新的 Vue 项目。设计 HTML 结构&#xff1a;包含一个左侧浮动菜单和一个主要内容区域。编写 CSS 样式&#xff1a;设置菜单的初始样式和滚动时的样式。使用 Vue 的生命周期钩…

使用大语言模型在表格化网络安全数据中进行高效异常检测

论文链接 Efficient anomaly detection in tabular cybersecurity data using large language models 论文主要内容 这篇论文介绍了一种基于大语言模型&#xff08;LLMs&#xff09;的创新方法&#xff0c;用于表格网络安全数据中的异常检测&#xff0c;称为“基于引导式提示…

Linux:宏观搭建网络体系

一、计算机网络背景 1、独立模式&#xff1a;计算机之间相互独立 可是这样的话&#xff0c;如果我们想要做协作就必然需要交互数据&#xff0c;就必须得使用U盘进行拷贝&#xff0c;效率很低&#xff0c;所以我们需要网络互联&#xff0c;将计算机连向同一台服务器&#xff0c…

初入机器学习

写在前面 本专栏专门撰写深度学习相关的内容&#xff0c;防止自己遗忘&#xff0c;也为大家提供一些个人的思考 一切仅供参考 概念辨析 深度学习&#xff1a; 本质是建模&#xff0c;将训练得到的模型作为系统的一部分使用侧重于发现样本集中隐含的规律难点是认识并了解模型&…

设计模式Python版 桥接模式

文章目录 前言一、桥接模式二、桥接模式示例三、桥接模式与适配器模式的联用 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&…