本機檔案引入

high Web App Scanning Plugin ID 98125

概要

本機檔案引入

說明

Web 應用程式偶爾會使用參數值來儲存伺服器稍後需要用到的檔案位置。

在錯誤頁面中經常可看到這方面的例子,例如,錯誤頁面的實際檔案路徑儲存在 `example.com/error.php?page=404.php` 參數值中。

當參數值 (即檔案的路徑) 可以用相同伺服器上另一個資源的路徑取代時,會發生檔案引入問題,這可以有效顯示任意檔案 (可能是受限/敏感檔案)。

掃描程式發現可以用外部資源取代參數值,然後讓伺服器在回應中將此資源的內容傳回至用戶端。

解決方案

建議永遠不要使用未受信任的資料來形成要包含的檔案位置。
為驗證資料,應用程式應確保允許所提供的檔案值。為此,請將參數值與允許的檔案清單比對,對參數值執行加入白名單作業。如果提供的值不符合白名單中的任何值,則伺服器應重新導向至標準錯誤頁面。
在某些要求動態內容的情況下,可能無法針對受信任的資源清單執行驗證,因此清單也必須變成動態的 (隨著檔案變更而更新),或執行篩選以移除無關的使用者輸入 (例如分號、句號等),且僅允許「a-z0-9」。
另外,建議不要將敏感檔案儲存在 web root 中,並且目錄強制執行的使用者權限應正確無誤。

另請參閱

https://www.owasp.org/index.php/PHP_File_Inclusion

Plugin 詳細資訊

嚴重性: High

ID: 98125

類型: remote

已發布: 2017/3/31

已更新: 2023/8/9

掃描範本: api, full, pci, scan

風險資訊

VPR

風險因素: Medium

分數: 6.2

CVSS v2

風險因素: High

基本分數: 9

媒介: CVSS2#AV:N/AC:L/Au:N/C:C/I:P/A:P

CVSS 評分資料來源: Tenable

CVSS v3

風險因素: High

基本分數: 8.6

媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

CVSS 評分資料來源: Tenable

參考資訊