1. 程式人生 > 實用技巧 >Type Script基礎入門(一)之變數、資料型別

Type Script基礎入門(一)之變數、資料型別

檔案包含漏洞

File Inclusion,意思是檔案包含(漏洞),是指伺服器開啟allow_url_include選項時,就可以通過PHP的某些特性函式(include(),ruquire(),和include_once(),require_once())利用URL去動態包含檔案,此時如果沒有對檔案來源進行嚴格審查,就會導致任意檔案讀取任意命令執行。檔案包含漏洞分為本地檔案包含漏洞遠端檔案包含漏洞,遠端檔案包含漏洞是因為開啟了PHP排至中的allow_url_fopen選項(選項開啟後,伺服器允許包含一個遠端檔案)。
1
利用

通常檔案包含漏洞是配合檔案上傳漏洞來獲取webshell

級別:Low

原始碼分析:直接接收傳入引數,無任何防護

漏洞利用

  1. 本地檔案包含利用:可直接傳參檔案路徑,進行任意檔案讀取,程式碼執行。

  1. 遠端檔案包含利用:可直接傳參URL路徑,進行操作

級別:Medium

原始碼分析:使用str_replace()函式將http://、https://、..\、../替換成空字元。

漏洞利用:使用str_replace函式是極其不安全的,因為可以使用雙寫繞過替換規則。

級別:High

原始碼分析:fnmatch() 函式根據指定的模式來匹配檔名或字串。

fnmatch(pattern,string,flags)

以file開頭,並且不能是include.php

漏洞利用:可以使用file協議繞過防護策略。(也可以結合檔案上傳,執行程式碼)

級別:Impossible

原始碼分析:程式碼採用白名單方式,限制只允許傳入的檔名稱,無法進行檔案包含利用

漏洞利用:白名單策略,無法利用

防禦方法