第八章——第一節–文件漏洞簡介與原理介紹
1、文件包含漏洞簡介與原理的介紹
)01、文件包含漏洞原理
在網站後端程式碼開發中、程式為了提高效率,以及讓程式碼看起來更加簡潔,會使用「包含」函數功能,比如把一系列的功能函數、基礎的類,基礎的方法寫進function.php中,之後某個文件需要調用的時候,就直接在那個文件頭中寫上一句程式碼
<?php include 'function.php';?>
就可以直接調用函數時程式碼
)02、文件包含漏洞形成
因為網站功能的需求,會讓客戶端用戶選擇需要包含的文件(或者在前端的功能中使用了「包含」),又由於程式設計師對要包含的文件沒有進行安全方面的考慮,就導致了攻擊者可以修改包含文件的位置來讓後台執行任意程式碼文件。
2、文件包含常見函數漏洞點講解
)01、文件包含常見函數漏洞點講解
PHP中引發文件包含漏洞的通常是以下四個函數:
include()
include_once()
require()
require_once()
)02、文件包含漏洞應用場景
a) 具有相關文件包含函數
b) 文件包含函數中存在動態變數,比如include $file;
c) 攻擊者能夠控制該變數,比如$file=$_GET[‘file’];
d) file page等參數
)03、文件包含技巧之圖片,木馬包含
include文件程式碼如下:
<?php $file = $_GET['file']; include $file; ?>
通過include文件內的文件包含函數包含我們上傳的圖片木馬,從而去執行圖片木馬的php程式碼。
小結:
1、文件包含漏洞簡介與原理介紹
2、文件包含常見函數漏洞點講解