2019-09-02 文件包含和幾個偽協(xié)議

本地文件包含和遠程文件包含:

本地文件包含:只要內(nèi)容中帶有<?php ?>即可解析成php文件執(zhí)行。即使包含的文件后綴是.txt或是.jpg等。

遠程文件包含:需要allow_url_fopen=on和allow_url_include=on才能進行包含。不能解析后綴為php可解析的文件。例如.php、php3等都是不行的??梢岳脗螀f(xié)議進行文件讀寫等操作。

常見的幾個偽協(xié)議:php://? file://?zip://? phar://? data:

今日實踐的三個偽協(xié)議:php://? file://?data:

一、php://filter和php://input

php://filter/resource=可以將非php代碼文件內(nèi)容直接輸出。php代碼文件直接執(zhí)行。在讀取文件時可以利用php://filter/read=convert.base64-encode/resource=將文件base64編碼再進行包含,不會再被執(zhí)行,可以直接輸出文件內(nèi)容的base64編碼。解碼即可獲取文件內(nèi)容。

php://input可以利用post方式傳入命令執(zhí)行

二、file://

file://和php://filter很相似。但是只能依靠絕對路徑查看文件內(nèi)容。

三、data:

類似于php://input,直接執(zhí)行輸入的命令。


關(guān)于文件包含防護:

1. 利用open_basedir =? 限制用戶訪問路徑。

2. allow_url_include = Off 和 allow_url_fopen=Off

3.注意偽協(xié)議的濫用

4.設置白名單

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容