php:// 访问各个输入/输出流
php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。 这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents()
php://filter 目标使用以下的参数作为它路径的一部分。 复合过滤链能够在一个路径上指定。
名称 | 描述 |
---|---|
resource=<要过滤的数据流> | 这个参数是必须的。它指定了你要筛选过滤的数据流。 |
read=<读链的筛选列表> | 该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔。 |
write=<写链的筛选列表> | 该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔。 |
<;两个链的筛选列表> | 任何没有以 read= 或 write= 作前缀 的筛选器列表会视情况应用于读或写链。 |
php://filter/resource=<待过滤的数据流>(就是文件的路径)
php://filter/read=<读链需要应用的过滤器列表>(就是具体的操作)
例子
/* 会以大写字母并且rot13加密的形式输出 www.example.com 的全部内容 */
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
打开将x.php的源码以base64的形式输出
php://filter/read=convert.base64-encode/resource=./x.php
编不下去,我自己也没有弄懂啊!以后理解清楚在从新写过,现在当备份吧!
其实就是再做CTF的web练习题是遇到的
http://123.206.87.240:8005/post/index.php