PHP之filter协议
2018-02-26 11:17
141 查看
php:// — 访问各个输入/输出流(I/O streams)
php://input 是个可以访问请求的原始数据的只读流。php://filter 是一种设计用来允许过滤器程序在打开时成为流的封装协议。这对于单独具有完整功能的文件函数非常有用,否则就没有机会在读取内容之前将过滤器应用于流之上。该协议语法为:php://filter:/<action>=<name>比如 php://filter:/resource=http://www.baidu.com使用 php://filter 获取网页内容:
read参数值可为string.strip_tags: 将数据流中的所有html标签清除
string.toupper: 将数据流中的内容转换为大写
string.tolower: 将数据流中的内容转换为小写
convert.base64-encode: 将数据流中的内容转换为base64编码 convert.base64-decode: 与上面对应解码例题:南邮ctf 文件包含http://4.chinalover.sinaapp.com/web7/index.php
点击题目所给链接,有如下url:
http://4.chinalover.sinaapp.com/web7/index.php?file=show.php
为典型的文件包含漏洞。我们可以通过构造含有漏洞的语句,查看想要看的代码: file=php://filter/convert.base64-encode/resource=index.php 。再将得到的base64码解码即可。
php://input 是个可以访问请求的原始数据的只读流。php://filter 是一种设计用来允许过滤器程序在打开时成为流的封装协议。这对于单独具有完整功能的文件函数非常有用,否则就没有机会在读取内容之前将过滤器应用于流之上。该协议语法为:php://filter:/<action>=<name>比如 php://filter:/resource=http://www.baidu.com使用 php://filter 获取网页内容:
<?php $url = 'http://www.phpfamily.cn'; $data = file_get_contents('php://filter/resource=' . $url); echo $data; //输出结果我http://www.phpfamily.cn页面的内容php://filter 的 参数列表
参数 | 功能 |
---|---|
read | 读取 |
write | 写入 |
resource | 数据来源 |
string.toupper: 将数据流中的内容转换为大写
string.tolower: 将数据流中的内容转换为小写
convert.base64-encode: 将数据流中的内容转换为base64编码 convert.base64-decode: 与上面对应解码例题:南邮ctf 文件包含http://4.chinalover.sinaapp.com/web7/index.php
点击题目所给链接,有如下url:
http://4.chinalover.sinaapp.com/web7/index.php?file=show.php
为典型的文件包含漏洞。我们可以通过构造含有漏洞的语句,查看想要看的代码: file=php://filter/convert.base64-encode/resource=index.php 。再将得到的base64码解码即可。
相关文章推荐
- PHP内置封装协议之php://filter
- java\C#\php主流语言实现FMS流媒体传输协议RTMP的开源组件
- php的特殊协议
- Apache的一个错误:[error] an unknown filter was not added: PHP
- PHP 过滤器(Filter)
- php://封装协议
- filter_var() 验证邮箱、ip、url的格式 php
- PHP 过滤器(Filter)
- 巧用php中的array_filter()函数去掉多维空值的代码分享
- intent-filter匹配与scheme跳转协议
- php filter user input
- PHP - Manual手册 - Appendices附录 - List of Supported Protocols/Wrappers支持的协议/封装协议列表 - HTTP and HTTPS
- PHP之谈(二)——TCP协议与UDP协议的区别
- 韩顺平php视频笔记83-87 防盗链 $_SERVER http协议相关 文件相关
- Android推送通知的实现--PHP+ANDROID做消息推送:基于IBM的MQTT协议的Tokudu项目测试
- php学习网站+c#发送Httppost协议
- PHP通过Memcached协议连接Netty, 调用Java服务
- php中http协议的一些基本知识
- php array_map array_filter sort
- PHP如何利用HTTP缓存协议原理解析及应用指南