对php伪协议的总结以及对数据流概念的理解
之前看了php://filter的相关内容,也趁此机会了解了一下其他几个封装协议以及数据流
数据流
数据流,也就是在程序运行的时候输入或输出的数据形成的…emmmm…一段数据,就像是水管里的水流一样,不过数据流要求有起有终,是一段有始有终的。
数据流也分为输入流和输出流
- 输入流 顾名思义就是输入程序的数据流
- 输出流 也很好理解,程序输出数据到外界时形成的数据流
网站也是靠程序完成的嘛,所以运行网站肯定也会产生数据流,输入表单呀按按钮呀刷新呀,都会产生输入流给程序,程序也产生输出流做相应反馈。当然了,网页中读取文件肯定也会有数据流产生,这也就产生了在ctf题中用php://filter过滤器处理输出流的操作。(个人理解,如有不对希望指出嗷!)
支持协议
php支持的协议和封装协议有
- file://
- http://
- ftp://
- php://
- zlib://
- data://
- glob://
- phar://
- ssh2://
- rar://
- ogg://
- expect://
常用协议: file://用于访问本地文件,直接跟地址就行 http://用于访问http(s)网址 ftp://用于访问fpt(s) URL php://用于访问输入流和输出流 zlib://,bzip2://,zip://压缩流 data://数据 glob://查找匹配文件路径 ogg://音频流