详解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)
相关推荐
luck_00722 分钟前
PhpSpreadsheet 导出excel 找不到setCellValueByColumnAndRow
php
生椰拿铁You1 小时前
解决Apache/2.4.39 (Win64) PHP/7.2.18 Server at localhost Port 80问题
php
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍11基于XML的SQL注入(XML-Based SQL Injection)
数据库·安全·web安全·漏洞挖掘·sql注入·hw·xml注入
风间琉璃""3 小时前
bugkctf 渗透测试1超详细版
数据库·web安全·网络安全·渗透测试·内网·安全工具
儒道易行4 小时前
【DSVW】攻防实战全记录
web安全·网络安全
安全方案6 小时前
如何增强网络安全意识?(附培训PPT资料)
网络·安全·web安全
索然无味io6 小时前
跨站请求伪造之基本介绍
前端·笔记·学习·web安全·网络安全·php
伟大无须多言7 小时前
企业资源规划系统(ERP)服务器上线项目实施指南
开发语言·php
Hacker_Oldv7 小时前
网络安全中常用浏览器插件、拓展
安全·web安全