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