springboot集合logback日誌展示
阿新 • • 發佈:2020-08-14
檔案包含漏洞
File Inclusion,意思是檔案包含(漏洞),是指伺服器開啟allow_url_include選項時,就可以通過PHP的某些特性函式(include(),ruquire(),和include_once(),require_once())利用URL去動態包含檔案,此時如果沒有對檔案來源進行嚴格審查,就會導致任意檔案讀取或任意命令執行。檔案包含漏洞分為本地檔案包含漏洞與遠端檔案包含漏洞,遠端檔案包含漏洞是因為開啟了PHP排至中的allow_url_fopen選項(選項開啟後,伺服器允許包含一個遠端檔案)。
1
利用:
通常檔案包含漏洞是配合檔案上傳漏洞來獲取webshell。
級別:Low
原始碼分析:直接接收傳入引數,無任何防護
漏洞利用:
- 本地檔案包含利用:可直接傳參檔案路徑,進行任意檔案讀取,程式碼執行。
- 遠端檔案包含利用:可直接傳參URL路徑,進行操作
級別:Medium
原始碼分析:使用str_replace()函式將http://、https://、..\、../
替換成空字元。
漏洞利用:使用str_replace函式是極其不安全的,因為可以使用雙寫繞過替換規則。
級別:High
原始碼分析:fnmatch() 函式根據指定的模式來匹配檔名或字串。
fnmatch(pattern,string,flags)
以file開頭,並且不能是include.php
漏洞利用:可以使用file協議繞過防護策略。(也可以結合檔案上傳,執行程式碼)
級別:Impossible
原始碼分析:程式碼採用白名單方式,限制只允許傳入的檔名稱,無法進行檔案包含利用
漏洞利用:白名單策略,無法利用
防禦方法: