php伪协议分析
本文大量转载于:https://blog.csdn.net/qq_41289254/article/details/81388343 (感谢博主)
一,php:// 访问输入输出流,有两个常用的子协议
1,php://filter 设计用来过滤筛选文件
使用方法:非php语法文件include失败,直接输出源码内容。
php://filter/resource=需要包含的文件
还有一种使用方法是:以读的形式,将需要包含的文件名转化为base64编码的方式进行读取,这样传入至include函数的文件名不会被误以为是php执行文件而执行,而是以base64编码方式显示源码
php://filter/read=convert.base64-encode/resouece=需要包含的文件
二、php://input
利用方法:将要执行的语法php代码写在post中提交,不用键与值的形式,只写代码即可
三、file:// 后跟文件目录绝对路径
file:// 与php:filter类似,访问本地文件,但是只能传入绝对路径
四、phar:// 可以查找指定压缩包内的文件
使用绝对路径与相对路径均可
五、zip:// 用法与phar类似,不过有两点要注意
1,只能传入绝对路径。
2,要用#分隔压缩包和压缩包里的内容,并且#要用url编码%23
六、data 与input 类似,都是用户可以控制传入的php代码
1,直接写入代码
data: text/plain,php 执行内容
2、base64编码后写入代码
data:text/plain;(注意是分号不是逗号,与前面不同)base64,编码后的php代码
注:有一点要注意的问题,base64编码后的加号和等号要手动的url编码,否则无法识别。如下图所示:
七、http协议
include中也可以传入外部链接,采用http://
关于allow_url_fopen和allow_url_include的设置和用法总结:
php伪协议分析 相关文章
如何 60 秒内进行 Linux 性能分析
当你登陆一台 Linux 服务器之后,因为一个问题要做性能分析时:你会在第 1 分钟内做哪些检测呢 在 Netflix,我们有很多 EC2 的 Linux 机器,并且也需要很多性能分析工具来监控和检查它们的性能。包括有针对云上的监控工具 Atlas,和按需要进行实例分析的 Vec
线性回归的原理复习以及实现
一、线性回归原理分析 二、实现线性回归所用到的api 1、Tensorflow运算API 矩阵相乘 tf.matmul(x, w) 平方 tf.square(error) 均值 tf.reduce_mean(error) 2、梯度下降API tf.train.GradientDescentOptimizer(learning_rate) 梯度下降优化 learning_rate:学习
深入分析Redis
推荐(免费):redis 1 Redis简介 什么是Redis Redis是完全开源免费的,遵守BSD协议,是?个?性能(NOSQL)的 key-value数据库 。Redis是?个开源的使?ANSI C语?编写、?持?络、可基于内存亦可持久化的?志型、Key-Value数据库,并提供多种语?的API。 BSD是“Ber
详解php基于redis的list型数据结构实现ip限流操作
推荐:《PHP视频教程》 在日常的业务功能开发中,如果要 限制任意一个ip在连续的某一段时间内,只能访问某个接口一定的次数 ,需要如何实现呢? 这种功能需求通常是用来应对防止脚本恶意刷接口的情况,目前网上已经有很多比较完善的限流方案。对于一般的站点
详解thinkphp5.1/5.0定时任务的实现步骤
下面由 thinkphp 教程栏目给大家详解thinkphp5.1/5.0定时任务的实现步骤,希望对需要的朋友有所帮助! 我主要做的是一个员工生日当天发短信的功能,每天跑一次脚本, 第一步: a.App/模块/ 下创建command文件夹 b.我这边是创建在admin模块里面,在command文件夹
STUtility || 空间转录组多样本分析框架(一)
作者 | 周运来 男, 一个长大了才会遇到的帅哥, 稳健,潇洒,大方,靠谱。 一段生信缘,一棵技能树。 生信技能树核心成员,单细胞天地特约撰稿人,简书创作者,单细胞数据科学家。 空间转录组学是一种通过结合基因表达数据和显微图像数据来可视化和定量分析
STUtility || 空间转录组多样本分析框架(二)
作者 | 周运来 男, 一个长大了才会遇到的帅哥, 稳健,潇洒,大方,靠谱。 一段生信缘,一棵技能树。 生信技能树核心成员,单细胞天地特约撰稿人,简书创作者,单细胞数据科学家。 我们在上一篇文章 STUtility || 空间转录组多样本分析框架(一)中演示了用
thinkphp5.0 数据修改(更新)
对应手册:点击查看 save方法,先查询再修改: $goods = Goods::find(32); $goods-goods_price = '102.00'; $goods-goods_number = 300; $res = $goods-allowField(true)-save(); (推荐使用)直接静态调用模型的update方法: 3个参数:修改的数据、修改条件
ArrayList和LinkList源码分析
一、ArrayList 1.1 ArrayList简介 ArrayList就是动态数组,它的容量可以动态增长和缩减。 public class ArrayListE extends AbstractListE implements ListE, RandomAccess, Cloneable, java.io.Serializable extends AbstractList :ArrayList继承了Abstract
SPI/QSPI通信协议详解和应用
SPi是高速全双工的串行总线,通常应用在通讯速率较高的场合。 SS:从设备选择信号线,也称片选信号线 每个从设备都有一个独立的SS信号线,信号线独占主机的一个引脚,及有多少个从设备就有多少个片选信号线, I2c是通过设备地址来寻址,选中总线上的某个设备