文件(jiàn)包含漏洞是一種針對依賴于腳本運行時間的 Web 應用程序的漏洞。當應用程序使用攻擊者控制的變量構建可(kě)執行代碼的路(lù)徑時,一旦其允許攻擊者控制運行時執行哪個文件(jiàn),則會引發該漏洞。文件(jiàn)包含漏洞會破壞應用程序加載代碼的執行方式。該漏洞可(kě)被利用在服務器上遠(yuǎn)程執行命令。攻擊者可(kě)以把上傳的靜(jìng)态文件(jiàn)或網站(zhàn)日志文件(jiàn)作爲代碼執行,獲取服務器權限,并進一步篡改用戶和交易數據,惡意删除網站(zhàn)等。
遠(yuǎn)程文件(jiàn)包含(RFI)在 Web 應用程序下載并執行遠(yuǎn)程文件(jiàn)時發生(shēng)。這些遠(yuǎn)程文件(jiàn)通常以 HTTP 或 FTP URI 的形式,作爲用戶向 Web 應用程序提供的參數而獲取。
本地文件(jiàn)包含(LFI)類似于遠(yuǎn)程文件(jiàn)包含,除了不包含遠(yuǎn)程文件(jiàn)外,隻有本地文件(jiàn)(當前服務器上的文件(jiàn))可(kě)以被包含用于執行。通過包含一個帶有攻擊者控制數據(如(rú) Web 服務器的訪問日志)的文件(jiàn),仍然可(kě)以導緻遠(yuǎn)程執行代碼。