对php伪协议的总结以及对数据流概念的理解 Fay·D·Flourite

对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://音频流