1. 程式人生 > >淺談php://filter

淺談php://filter

php://    訪問各個輸入/輸出流

php://filter 是一種元封裝器, 設計用於資料流開啟時的篩選過濾應用。 這對於一體式(all-in-one)的檔案函式非常有用,類似 readfile()、 file() 和 file_get_contents()

php://filter 目標使用以下的引數作為它路徑的一部分。 複合過濾鏈能夠在一個路徑上指定。

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練習題是遇到的