攻防世界18.fileclude

18.fileclude

image-20240327190700852

include函数:包含并执行变量或者文件。

if:是if语句用来判断。

isset:判断变量是否存在,值是否为NULL。

$_GET:接收表单提交数据,并把数据附加到url链接当中。

逻辑运算符&&:条件都满足才会执行。

关系运算符!:不、反的意思。

empty函数:只用来判断变量的值是否为NULL。

file_get_contents() 函数:把整个文件读入一个字符串中。

===:判断值是否相同并且判断值的类型是否相同。

else:条件都不满足的时候才会执行它。

die函数:输出内容并退出程序。

打开题目场景发现有if嵌套语句,存在flag.php,并且可以执行这个文件。

第一个if语句说的是如果file1和file2这两个变量都存在并且值不是空的,就会存放这两个数据的from表单,并将这个数据表单发送到url中。

第二个if语句说的是如果这两个变量都不为NULL,则返回true,并执行,但是前面加的有关系运算符!,所以说这两个值都是空的才会返回true,并执行。显而易见这两个变量都是存在的,但是值都是空的。???????

第三个if语句说的是file_get_contents() 函数包含file2变量,当满足file2的值等于hello ctf以及值的类型两者相同(类型是字符串),才会执行包含在include函数中的file1变量。(所以说这里咱们需要用到php://input绕过)

当这三个条件都不满足就会输出NONONO这个字符串。(显然可见这是不可能的)

解题:

image-20240327192231350

执行构造好的payload

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

file1的写法是构造php伪协议的规则

?file1=php://filter/convert.base64-encode/resource=flag.php

关于后面跟的file2

file1=php://filter/read=convert.base64-encode/resource=flag.php 以Base64的格式读取文件flag.php中的语句;

file2=data://text/plain,hello ctf 以纯文本格式写入题目要求的内容hello ctf~

简单的通过post传参hello ctf是不可以的,下图中点击执行后并没有反应

image-20240327193109347

php://input可以读取没有处理过的POST数据

file_get_contents函数是打开文件读取的,所以我们这里需要利用php的data伪协议写入数据,也就是上面的写法

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【提示学习论文】BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning论文原理

BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning BlackVIP:稳健迁移学习的黑盒视觉提示 问题 黑盒白盒? 黑盒和白盒的概念与对预训练模型内部参数的了解程度相关。黑盒指的是对预训练模型的参数和结构缺乏详细了解,通常只能通过使…

NAT基本配置

配置IP完成及缺省的路由如下; 此时R1pingISP是ping不通的,因为缺省是可以将数据传给R3,但是R3传不回去,知道目标IP地址但因其是私有内部IP,而自己的是公有IP,所以传不过去,此时就需要R2这个边界…

2024 发布Maven项目到中央仓库

注册sonatype账号 Maven中央仓库并不支持直接发布jar包,sonatype是其指定的第三方仓库之一,发布到此的项目会被定时同步到中央仓库 官方教程地址:https://central.sonatype.org/register/central-portal/ 访问网址:https://centra…

文件操作和IO

1.认识文件 我们先来认识狭义上的⽂件(file)。针对硬盘这种持久化存储的I/O设备,当我们想要进⾏数据保存时,往往不是保存成⼀个整体,⽽是独⽴成⼀个个的单位进⾏保存,这个独⽴的单位就被抽象成⽂件的概念,就类似办公桌…

# 从浅入深 学习 SpringCloud 微服务架构(三)注册中心 Eureka(2)

从浅入深 学习 SpringCloud 微服务架构(三)注册中心 Eureka(2) 段子手168 1、搭建 EurekaServer 注册中心,使用 Eureka 的步骤: 1)搭建 EurekaServer 创建工程,导入依赖坐标&…

Python-VBA函数之旅-globals函数

目录 一、globals函数的常见应用场景: 二、globals函数与locals函数对比分析: 1、globals函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:https://blog.csdn.net/ygb_1024?spm101…

基于springboot+vue+Mysql的广场舞团管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

牛客小白月赛91

A.Bingbong的化学世界 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 🌙“上…

AndroidStudio右下角显示内存使用情况

目录 一.具体效果 二.4.0以下版本 三.4.0以上版本 四.增加内存配置 一.具体效果 二.4.0以下版本 1.打开 Android Studio. 2.进入设置界面。点击 Android Studio 左上角的“File”,然后选择“Settings” 3.在设置界面中,选择“Appearance & Beha…

关于图像YUV格式分类和排布方式的全学习

【学习笔记】关于图像YUV格式分类和排布方式的全学习_yuv图像-CSDN博客 下图是将多个yuv420p图像(A和B),拼接成一个画面的思路 A大小:416*64 B大小:416*208 将A和B合并到一个416*416的尺寸上,代码如下 //整合char * ptd;ptd (char * ) malloc (416*41…

手把手教你实现 C 语言的函数多参默认值 「下」

以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/ifnDcV7AKrh6eVihVK9l5A 本文上接《手把手教你实现 C 语言的函数多参默认值 上》,下文提及的一些概念来源于上文,为方便阅…

使用LLM-API开发应用-DataWhale笔记

调用API 先使用一个例子 from openai import OpenAI ​ client OpenAI(# This is the default and can be omittedapi_keyos.environ.get("OPENAI_API_KEY"), //这个在环境env中 ) ​ completion client.chat.completions.create(# 调用模型:ChatGPT-…

【目标检测】YOLO系列-YOLOv1 理论基础 通俗易懂

为方便大家理解YOLO的原理,这里将YOLOv1的部分内容基础内容进行用比较直白的话和例子进行阐述,为后续大家学习YOLO作为铺垫。 1、模型所干的活 工作中,大家经常将 Word 文档 上传到某转换器,然后转换输出为PDF文档。目标检测中我…

单点登录实现:一次登录,到处运行

单点登录:一次登录,到处运行 举个场景,假设我们的系统被切割为N个部分:商城、论坛、直播、社交…… 如果用户每访问一个模块都要登录一次,那么用户将会疯掉, 为了优化用户体验,我们急需一套机制…

组件安全(Solr、Shiro、Log4j、Jackson、FastJson、XStream)

Solr 主要基于HTTP和 Apache Lucene 实现的全文搜索服务器。 特征&#xff1a;图标识别 端口&#xff1a;8393 CVE-2019-0193&#xff08;远程命令执行漏洞&#xff09; 漏洞版本&#xff1a;Apache Solr < 8.2.0 利用条件&#xff1a; Apache Solr 的 DataImportHandler 启…

23-代码随想录第202题快乐数

202. 快乐数 简单 相关标签 相关企业 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到…

【C语言】指针详解(五)

目录 1.字符指针 1.1常量字符串 2.指针数组 3.数组指针 1.字符指针 字符指针就是指向字符的指针&#xff0c;字符指针可以存储字符变量的地址。 举例如下&#xff1a; 定义指针变量pa存a的地址&#xff0c;改变*pa的值&#xff0c;a也会随之改变 。 1.1常量字符串 &#x1f…

电机控制专题(一)——最大转矩电流比MTPA控制

文章目录 电机控制专题(一)——最大转矩电流比MTPA控制前言理论推导仿真验证轻载1Nm重载30Nm 总结 电机控制专题(一)——最大转矩电流比MTPA控制 前言 MTPA全称为Max Torque Per Ampere&#xff0c;从字面意思就可以知道MTPA算法的目的是一个寻优最值问题&#xff0c;可以从以…

PTA L2-047 锦标赛

题目 解析 把每一场比赛看作满二叉树的一个节点&#xff0c;父节点递归遍历子节点的结果&#xff0c;进行试填。 代码 #include <bits/stdc.h>using i64 long long;struct Node {int win, lose; };void solve() {int k;std::cin >> k;int siz (1 << k);…

Llama 3王者归来,可与GPT-4分庭抗礼,开源模型即将追上闭源模型了?

“有史以来最强大的开源大模型”Llama 3引爆AI圈&#xff0c;马斯克点赞&#xff0c;英伟达高级科学家Jim Fan直言&#xff0c;Llama 3将成为AI大模型发展历程的“分水岭”&#xff0c;AI顶尖专家吴恩达称Llama3是他收到的最好的礼物。 4月18日&#xff0c;AI圈再迎重磅消息&a…