当前位置: 首页 > news >正文

php://filter协议在任意文件读取漏洞(附例题)

php://filter

php://fiter 中文叫 元器封装,咱也不知道为什么这么翻译,目前我的理解是可以通过这个玩意对上面提到的php IO流进行处理,及现在可以对php的 IO流进行一定操作。

过滤器:及通过php://filter 对php 的IO流进行的具体操作

              格式为:php://filter / [read|write =] 过滤器 / resource= 目标文件 
        解释:对目标文件的IO流的输出流(read)或输入流(write)进行 过滤器的操作处理 

过滤器的分类

 string filter(字符过滤器)string.rot13  (对字符串执行 ROT13 转换)例:php://filter/string.rot13/resource=flag.phpstring.toupper (转大写)例:php://filter/string.toupper/resource=flag.phpstring.tolower (转小写)string.strip_tags (去除 HTML 和 PHP 标记,尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果)例:php://filter/string.strip_tags/resource=flag.php 
conversion filter (转换过滤器)convert.base64-encode & convert.base64-decode (base64加密 base64解密)例:php://filter/convert.base64-encode/resource=flag.phpconvert.quoted-printable-encode & convert.quoted-printable-decode(在字符串后加=0A,及恢复)compression filter(压缩过滤)zlib.deflate & zlib.inflate(压缩 解压)例:php://filter/zlib.deflate/resource=flag.php                                                       php://filter/zlib.inflate/resource=flag.phpbzip2.compress & bzip2.decompress(zip 压缩 解压)encryption filter(加密过滤器) 

题目:[SWPUCTF 2021 新生赛]include

打开题目,发现传一个file,发现flag在flag.php中

因为allow_url_include 状态为on,可知php伪协议,用filter读取flag.php里面的信息

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

发现是一段编码,base64解密

得到答案!

相关文章:

php://filter协议在任意文件读取漏洞(附例题)

php://filter php://fiter 中文叫 元器封装,咱也不知道为什么这么翻译,目前我的理解是可以通过这个玩意对上面提到的php IO流进行处理,及现在可以对php的 IO流进行一定操作。 过滤器:及通过php://filter 对php 的IO流进行的具体…...

【Redis】1、NoSQL之Redis的配置及优化

关系数据库与非关系数据库 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言&a…...

9.5QTday6作业

面试题1:c语言中的static和c中的static的用法 在c语言中: 1.static修饰的全局变量作用域限制在当前文件,无法被外部文件所引用。2.static修饰的局部变量延长生命周期,但不改变作用域,同样无法被外部文件所引用。3.st…...

Redis I/O多路复用机制

一、基础回顾 1.1 多路复用要解决什么问题 并发多客户端连接场景,在多路复用之前最简单和典型的方案就是同步阻塞网络IO模型。 这种模式的特点就是用一个进程来处理一个网络连接(一个用户请求),比如一段典型的示例代码如下。 直接调用 recv 函数从一个 socket 上…...

Matlab 2016安装MinGW-w64-4.9.2

Matlab 2016安装MinGW-w64-4.9.2 项目需求:需要将matlab中的.m文件编译为cpp文件 .dll .h .lib。 我相信大家在对matlab2016安装MinGW-w64出现了各种各样的问题。如:4.9.2安装失败;安装了其他版本但是matlab检测不到,或者其他各种…...

Tomcat配置ssl、jar包

Tomcat配置ssl 部署tomcat服务,项目做到用https访问,使用nginx去做,访问任意一个子网站,都是https 或者 医美项目需要 上传jdk 456 tomcat war包 [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/…...

Unity中Shader实现UI去色功能的实现思路

文章目录 前言一、在开发过程中,在UI中会涉及一些需要置灰UI的需求,有很多实现的方法1、做两套纹理,通过程序控制切换2、使用shader实现对纹理去色 二、这里主要记录用shader实现的思路1、基础纹理的采样2、支持组件中的调色3、遮罩功能4、去…...

Python垃圾回收机制详解:引用计数与循环垃圾收集器

文章目录 Python垃圾回收机制引用计数机制循环垃圾收集器小结详细讲解及实操1. 程序中的垃圾问题2. 垃圾的定义3. 自动垃圾回收机制4. 示例:使用del方法删除垃圾对象5. 手动处理垃圾回收6. 结束程序7. 垃圾回收的自动处理8. 结束程序 python精品专栏推荐python基础知…...

自然语言处理应用(三):微调BERT

微调BERT 微调(Fine-tuning)BERT是指在预训练的BERT模型基础上,使用特定领域或任务相关的数据对其进行进一步训练以适应具体任务的需求。BERT(Bidirectional Encoder Representations from Transformers)是一种基于Tr…...

MySQL基础【学习至基本语句】

一、安装与配置 1、安装 yum install -y mysql-server.x86_642、MySQL安装完成后,启动报错,查看MySQL的状态,发现是3306端口被占用 [rootiZ56kkvaq4nlfhZ etc]# systemctl status mysqld.service ● mysqld.service - MySQL 8.0 database …...

Leetcode152. 连续子数组的最大乘积

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32…...

01_kafka_环境搭建安装_topic管理

文章目录 安装jdk配置主机名Zookeeper 下载与安装Kafka 下载与安装测试集群版安装测试输出 安装jdk 略 配置主机名 hostnamectl set-hostname kafka_1 /etc/sysconfig/network HOSTNAMEkafka_1/etc/hosts ip kafka_1ping kafka_1 测试 Zookeeper 下载与安装 由于 集群…...

Python+Requests+Excel接口测试实战

1、EXCEL文件接口保存方式,如图。 2、然后就是读取EXCEL文件中的数据方法,如下: 1 import xlrd2 3 4 class readExcel(object):5 def __init__(self, path):6 self.path path7 8 property9 def getSheet(self): 10 …...

10:STM32------I2C通信

目录​​​​​​​ 一:I2C通信协议 1:I2C简历 2:硬件电路 3:I2C时序基本单元 A : 开/ 终条件 2:发送一个字节 3:接收一个字节 4:应答机制 4:I2C时序 1:指定地址写 2:当前地址读 3: 指定地址读 二:MPU6050 1:简历 2:参数 3:硬件电路 4:框图 5:寄存器地址 …...

Git多人开发解决冲突案例

准备工作: 1.创建一个gitee远程仓库https://gitee.com/xxxxxxx.git 2.初始化两个本地git仓库用户,目的是模拟多人协作开发时提交代码发生冲突的场景 3.解决冲突并提交。 进入正题: lisi 通过vim指令修改readme.md文件内容,推送到…...

医疗机构如何维护电力系统?来看看这个小技巧

在现代医疗领域,电力是不可或缺的。从手术室里的手术灯到病房中的呼吸机,医院的各种医疗设备和系统都依赖于稳定的电源供应。 然而,电力中断和紧急情况不可避免,而这些情况下的电力可靠性可能会直接影响病人的生命和健康。为了确保…...

时序预测 | MATLAB实现ELM极限学习机时间序列预测未来

时序预测 | MATLAB实现ELM极限学习机时间序列预测未来 目录 时序预测 | MATLAB实现ELM极限学习机时间序列预测未来预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现ELM极限学习机时间序列预测未来; 2.运行环境Matlab2018及以上,data为数…...

【数据分享】1901-2022年我国省市县镇四级的逐年平均气温数据(免费获取/Shp/Excel格式)

气象数据在日常研究中非常常用,之前我们分享过来自国家青藏高原科学数据中心提供的1901-2022年1km分辨率逐月平均气温栅格数据,2001-2022年我国省市县镇四级的逐月平均气温数据,以及基于该栅格数据处理得到的1901-2022年1km分辨率的逐年平均气…...

【Axure高保真原型】日历日期原型模板

今天和大家分享日历日期的原型模板,包括月计划、周计划、日计划的原型案例,以及日期、时间、月份、区间选择器……具体效果可以点击下方视频观看 【原型预览及下载地址】 Axure 原型 备用地址:Untitled Document 【原型效果】 【原型效果…...

深入了解接口测试:Postman 接口测试指南

在现代软件开发生命周期中,接口测试是一个至关重要的部分。使用 Postman 这一工具,可以轻松地进行 接口测试。以下是一份简单的使用教程,帮助你快速上手。 安装 Postman 首先,你需要在电脑上安装 Postman。你可以从官网上下载并…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...