一.伪协议介绍
PHP支持以下几种协议:
file:// -访问本地文件系统 http:// -访问HTTP(s)网址 ftp:// -访问各个输入/输出流(I/O streams) zlib:// -压缩流 data:// -数据(RFC 2397) glob:// -查找匹配得文件路径模式 ssh2:// -Secure Shell 2 rar:// -RAR ogg:// -音频流 exxpect:// -处理交互式的流
php:// 是一种伪协议,主要是开启了一个输入输出流,理解为文件数据传输的一个通道。php中的伪协议常使用的有如下几个:
php://input php://filter phar://
二.php://filter
当我们直接包含conn.php文件的时候,http://192.168.19.130:8443/security/Upload/fileinc.php?filename=../SQL/common.php
虽然代码已经调用,但是因为是php文档,被web容器解释,导致页面看不到源码内容。
这时候使用php://将我们要读取的文件放在数据流中,然后我们通过伪协议的方式读出来
php://filter/read/convert.base64-encode/resource=common.php
这段命令的意思就是打开数据流,把common.php的内容用base64编码的方式读出来
我们执行后,在页面上就能看到一串base64的编码,通过工具解码后就能看到明文源码
标签:协议,php,14,base64,filter,common,PHP From: https://www.cnblogs.com/eveplw/p/16612300.html