web偽協議總結

2021-10-05 06:22:39 字數 1937 閱讀 9121

allow_url_fopen()開啟檔案->通常設定為on,使得可以訪問 url 物件檔案等。

allow_url_include()引用檔案->通常設定為off,包含url 物件檔案等

均可在配置檔案,php.ini中檢視(通常位置:/usr/local/php/lib)

data:

訪問本地檔案系統

例項:1.?file=data:text/plain, #get資料

2.?file=data:text/plain;base64,pd9wahagcghwaw5mbygppz4= #後面的base64字元是需要傳入的字串的base64編碼

phar:

可以查詢指定壓縮包內的檔案,說通俗點就是php解壓縮包的乙個函式,解壓的壓縮包與字尾無關。

例項:filename=phar://test.[zip/jpg/png…]/file.txt

可以將任意字尾名的檔案(必須要有字尾名),只要是zip格式壓縮的,都可以進行解壓,因此上面可以改為phar:也可以執行。

temp:

乙個類似檔案 包裝器的資料流,允許讀寫臨時資料.會在內存量達到預定義的限制後(預設是 2mb)存入臨時檔案中。

php://filter:

(1) 一般用於任意檔案讀取,有時也可以用於getshell.在雙off的情況下也可以使用.

(2) 引數設定:read用於include()和file_get_contents(),write用於file_put_contents()中。

①例項用法:php://filter/[read/write]=string.[rot13/strip_tags/……]/resource=***

②php://filter/convert.base64-[encode/decode]/resource=***

這是使用的過濾器是convert.base64-encode.它的作用就是讀取upload.php的內容進行base64編碼後輸出。可以用於讀取程式源**經過base64編碼後的資料

php://input:

可以訪問請求的原始資料的唯讀流,將post請求的資料當作php**執行。當傳入的引數作為檔名開啟時,可以將引數設為php://input,同時post想設定的檔案內容,php執行時會將post內容當作檔案內容。enctype=」multipart/form-data時,php://input是無效的。

例項:file=php://input hackbarpost資料

是乙個類似檔案 包裝器的資料流,允許讀寫臨時資料,總是把資料儲存在記憶體中

file:f在雙off的時候也可以用,用於本地檔案包含注:file://協議必須是絕對路徑

例項:file:// [檔案的絕對路徑和檔名]

linux:

windows:

8.zip:

壓縮流。

9.expect:

處理互動式的流

總的來說就是:

PHP偽協議總結

所有測試均allow url fopen on,allow url include on php input 是個可以訪問請求的原始資料的唯讀流。post 請求的情況下,最好使用 php input 來代替 http raw post data 因為它不依賴於特定的 php.ini 指令。而且,這樣...

php偽協議利用 總結

ctf比賽中經常會出現例用偽協議的web類題目,近期在進行rce剛好總結一下。flie 用來訪問本地的檔案,只能傳入絕對路徑 一步到底的檔案 file file flie phpinfo.txt php php filter cmd php filter read convert.base64 en...

Web學習 PHP偽協議和檔案包含(部分)

檔案包含函式require require once include include once 解析 1.其實可以把require 和include 作為兩個大類,require once 和include once 是它們的變形。include在包含的過程中如果出現錯誤,會報乙個警告,但是程式會繼...