详解php://filter--理论

什么是php://filter?

是PHP伪协议的一种,常用于文件包含漏洞。

php:// 用于访问输入/输出流。

filter 意为过滤器,用于在访问数据流之前对数据进行过滤。

php://filter的功能就是访问数据流,并对其进行过滤操作。

使用方法

这是php://filter的基本形式:

复制代码
php://filter/resource=flag.php  //文件形式的数据流
php://filter/resource=https://blog.csdn.net  //URL形式的数据流

这种形式中,只包含了一个参数resource(该参数是必须的)

参数的值 是我们要访问的 文件形式的数据流URL形式的数据流

用于过滤的参数 read(该参数是可选的):

复制代码
php://filter/read=convert.base64-encode/resource=flag.php
php://filter/convert.base64-encode/resource=flag.php  //read也可以省略不写

该参数的值作用是:将读取的文件的内容以base64加密的形式输出。

read参数的值就是我们要使用到的过滤器

常用过滤器

复制代码
convert.base64-encode:
php://filter/convert.base64-encode/resource=<目标文件名> //base64编码读取文件内容

string.rot13:
php://filter/read=string.rot13/resource=<目标文件名> //rot13编码后读取文件内容

convert.iconv.<input-encoding>.<output-encoding> :
php://filter/convert.iconv.utf-8.utf-7/resource=<目标文件名> //将utf8编码转换utf7编码
php://filter/convert.iconv.utf8.utf16/resource=<目标文件名> //将utf8编码转换utf16编码

<input-encoding><output-encoding>可以选取的编码形式有:

复制代码
UCS-4*
UCS-4BE
UCS-4LE*
UCS-2
UCS-2BE
UCS-2LE
UTF-32*
UTF-32BE*
UTF-32LE*
UTF-16*
UTF-16BE*
UTF-16LE*
UTF-7
UTF7-IMAP
UTF-8*
ASCII*
EUC-JP*
SJIS*
eucJP-win*
SJIS-win*
ISO-2022-JP
ISO-2022-JP-MS
CP932
CP51932
SJIS-mac (alias: MacJapanese)
SJIS-Mobile#DOCOMO (alias: SJIS-DOCOMO)
SJIS-Mobile#KDDI (alias: SJIS-KDDI)
SJIS-Mobile#SOFTBANK (alias: SJIS-SOFTBANK)
UTF-8-Mobile#DOCOMO (alias: UTF-8-DOCOMO)
UTF-8-Mobile#KDDI-A
UTF-8-Mobile#KDDI-B (alias: UTF-8-KDDI)
UTF-8-Mobile#SOFTBANK (alias: UTF-8-SOFTBANK)
ISO-2022-JP-MOBILE#KDDI (alias: ISO-2022-JP-KDDI)
JIS
JIS-ms
CP50220
CP50220raw
CP50221
CP50222
ISO-8859-1*
ISO-8859-2*
ISO-8859-3*
ISO-8859-4*
ISO-8859-5*
ISO-8859-6*
ISO-8859-7*
ISO-8859-8*
ISO-8859-9*
ISO-8859-10*
ISO-8859-13*
ISO-8859-14*
ISO-8859-15*
ISO-8859-16*
byte2be
byte2le
byte4be
byte4le
BASE64
HTML-ENTITIES (alias: HTML)
7bit
8bit
EUC-CN*
CP936
GB18030
HZ
EUC-TW*
CP950
BIG-5*
EUC-KR*
UHC (alias: CP949)
ISO-2022-KR
Windows-1251 (alias: CP1251)
Windows-1252 (alias: CP1252)
CP866 (alias: IBM866)
KOI8-R*
KOI8-U*
ArmSCII-8 (alias: ArmSCII8)
相关推荐
做一位快乐的码农1 小时前
基于vue的财务管理系统/基于php的财务管理系统
php
xiangweiqiang9 小时前
用phpstudy安装php8.2后报错:意思是找不到php_redis.dll拓展时
开发语言·php
fakaifa11 小时前
【同步更新】最新版龙兵名片装修版系统+小程序前端+搭建教程
前端·小程序·php·源码下载·龙兵名片·龙兵名片装饰
网络安全大学堂12 小时前
【网络安全入门基础教程】TCP/IP协议深入解析(非常详细)零基础入门到精通,收藏这一篇就够了
网络协议·tcp/ip·web安全·计算机·黑客·程序员·编程
zh731413 小时前
laravel在cli模式下输出格式漂亮一些
microsoft·php·laravel
onejason14 小时前
《PHP 爬虫实战指南:获取淘宝店铺详情》
前端·后端·php
用户30745969820716 小时前
PHP 抽象类完全指南(含 PHP 8.4 新特性)
php
用户30745969820718 小时前
📘 PHP 继承与静态机制深度解析
php
卑微的小鬼18 小时前
TCP如何实现可靠传输?实现细节?
网络·tcp/ip·php
wuzuyu3651 天前
Laravel The requested URL /hellowzy was not found on this server. 404 问题的解决
php·laravel