【PHP程式碼審計】MVC開發框架類-審計檔案上傳

2021-06-09 07:00:02


0x001 漏洞查詢方式

關鍵字搜尋:(函數,鍵字,全域性變數等)

檔案上傳,$_FILES,move_uploaded_file等

應用功能抓包:(任何可能存在上傳的應用功能點)

前臺會員中心,後臺新聞新增等可能存在上傳的地方

更多關於檔案上傳檢視:https://blog.csdn.net/weixin_44032232/article/details/113550387

0x002 MVC開發特點

關於MVC參考:https://www.cnblogs.com/wsybky/p/8638876.html

使用MVC模式開發我們在程式碼審計中需要注意:檔案路徑不等於存取的url。

在這裡插入圖片描述
這是我們在本地搭建的finecms,我們通過功能點找到上傳點測試是否存在檔案上傳漏洞。

在這裡插入圖片描述

http://127.0.0.1/index.php?s=member&c=account&m=avatar

我們在上傳圖片的時候抓包檢視上傳圖片所存取的路由,在原始碼中定位關於頭像上傳的函數和php檔案。從而分析是否存在漏洞。

可以看到使用MVC開發的程式,路由形式並不是檔案路徑,而是以傳參的方式進行存取,那麼我們如果通過路由定位到該頭像上傳的函數呢???

開啟審計系統匯入原始碼

1、存取index.php  --->  define('FCPATH', dirname(__FILE__).'/finecms/');   // 得到程式路徑為finecms

在這裡插入圖片描述

2、進入finecms目錄下檢視init.php初始化檔案  --->  define('VIEWPATH', FCPATH . 'dayrui/'); // 得到主專案目錄

在這裡插入圖片描述

3、進入dayrui目錄下根據引數s=member&c=account&m=avatar進行搜尋方法
s  --> 目錄
c  --> 檔案
m  --> 方法

在這裡插入圖片描述
定位到相關檔案和方法後即可繼續分析程式碼是否存在漏洞。