说实在话,使用PHP已有10年了,但从没研究过php://filter功能。今天一个偶然的机会,看到了一篇文章 LFI’s Exploitation Techniques,其中描述了如何利用php://filter进行文件包含漏洞利用的。这才对php://filter进行研究。在php的官方文档中有对php://filter说明,具体内容如下:
具体使用方法如下:
/* 这会以大写字母输出 www.example.com 的全部内容 */
readfile(“php://filter/read=string.toupper/resource=http://www.example.com”);
?>
/* 这会通过 rot13 过滤器筛选出字符 “Hello World”
然后写入当前目录下的 example.txt */
file_put_contents(“php://filter/write=string.rot13/resource=example.txt”,”Hello World”);
在这个例子中,php会先把Hello World字符串做string.rot13转换然后再写入文件,这在场景A中会有用到。
?>
不好意思,上面的代码被认为有攻击性,所以只有使用图片形式贴出。