設定白名單
**在進行檔案包含時,如果檔名可以確定,可以設定白名單對傳入的引數進行比較。
過濾危險字元
php配置檔案中有open_basedir選項可以設定使用者需要執行的檔案目錄,如果設定目錄的話,php僅僅在該目錄內搜尋檔案。
關閉危險配置(配置php.ini)
php配置中的allow_url_include選項如果開啟,php會通過include/require進行遠端檔案包含,由於遠端檔案的不可信任性及不確定性,在開發中禁止開啟此選項,php預設是關閉的。
總結
任意檔案包含漏洞出現的主要原因是在能夠解析處理指令碼檔案的函式上,沒有對輸入的變數進行過濾,導致任意檔案包含,進而導致惡意**執行。在開發處理這類功能函式上,一定要遵循程式設計規範;在**核心處,對變數進行過濾限制,設定檔案路徑或者白名單,避免執行任意檔案包含。
漏洞之檔案包含漏洞
在專案中為了更好地使用 的重用性,引入了檔案包含函式,可以通過檔案包含函式將檔案包含進來,直接使用包含檔案的 完成類似python中的import功能。在包含檔案時候,為了靈活包含檔案,將被包含檔案設定為變數,通過動態變數來引入需要包含的檔案時,使用者可以對變數的值可控而伺服器端未對變數值進行合理地...
pikachu之檔案包含漏洞
在web後台開發中,程式設計師往往為了提高效率以及讓 看起來更加簡潔,會使用 包含 函式功能。比如把一系列功能函式都寫進fuction.php中,之後當某個檔案需要呼叫的時候就直接在檔案頭中寫上一句就可以呼叫函式 檔案包含漏洞 有時候因為 需求,會讓前端使用者選擇需要包含的檔案 或者在前端的功能中使...
web漏洞之檔案包含
伺服器執行php檔案時,可以通過檔案包含函式載入另乙個檔案中的php 並且當php來執行,這會為開發者節省大量的時間。這意味著您可以建立供所有網頁引用的標準頁首或選單檔案。當頁首需要更新時,您只更新乙個包含檔案就可以了,或者當您向 新增一張新頁面時,僅僅需要修改一下選單檔案 而不是更新所有網頁中的鏈...