溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DVWA系列之14 文件包含漏洞分析

發布時間:2020-05-18 03:31:16 來源:網絡 閱讀:1589 作者:yttitan 欄目:安全技術

程序開發人員通常會把可重復使用的函數寫入到單個文件中,在使用某些函數時,直接調用此文件,而無需再次編寫,這種調用文件的過程一般被稱為包含。程序開發人員都希望代碼更加靈活,所以通常會將被包含的文件設置為變量,用來進行動態調用,但正是由于這種靈活性,從而導致客戶端可以調用一個惡意文件,造成文件包含漏洞。

PHP中提供了四個文件包含的函數,分別是include()、include_once()、require()和require_once(),它們的區別如下:

  • require找不到被包含的文件時會產生致命錯誤,并停止腳本運行。

  • include找不到被包含的文件時只會產生警告,腳本將繼續運行。

  • include_once與include類似,唯一區別是如果該文件中的代碼已經被包含,則不會再次包含。

  • require_once與require類似,唯一區別是如果該文件中的代碼已經被包含,則不會再次包含。

比如我們看下面這個例子,01.txt是一個正常的文本文件,但文件內容卻是符合PHP語法的代碼:

DVWA系列之14 文件包含漏洞分析

在02.php文件中包含01.txt,代碼如下:

DVWA系列之14 文件包含漏洞分析

將這兩個文件都放到D:\AppServ\www目錄,然后在瀏覽器中訪問02.php,可以看到01.txt中的代碼被正確執行了。接下來將02.txt文件的擴展名分別改為jpg、rar、doc、xxx進行測試,發現都可以正確顯示phpinfo信息。由此可知,只要文件內容符合PHP語法規范,那么任何擴展名都可以被PHP解析。

DVWA系列之14 文件包含漏洞分析

我們再創建一個測試文件03.txt,文件內容是“Hello,world!”,并不符合PHP語法規范,可以發現這種文件可以直接顯示其內容。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女