【代碼審計】VAuditDemo 文件包含漏洞
阿新 • • 發佈:2017-05-24
http code 頭像 col 函數 文件名 中一 判斷 包含漏洞
在 index.php中先判斷get過來的module是否設置了變量,如果已經設置,則包含module,並與字符串.inc拼接
inc格式一般是圖標或者頭像格式,因此我們可以初步判斷,這個包含應該是基於圖像上傳
那麽我們就應該搜索上傳相關的函數 $_FILES
這裏我們看到,圖像上傳的功能,上傳圖片的路徑的格式為:u_ 當前時間戳_原來的文件名
(我們可以用PHP函數來解時間戳)
跟蹤 is_pic
is_inc只是單純的驗證後綴名,我們可以嘗試用00截斷或者為協議進行驗證
--------------------------------------------------------------------------------------------------------------------------------------------------------------
我們首先先介紹一下phar偽協議
這是一個壓縮包有關的協議,它可以打開一個壓縮包,並可以打開其中一個文件,並讀取壓縮包裏面的內容。
它的用法為:phar://path/file/所壓縮的文件名。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
漏洞驗證
我們先創建inc的文件,在裏面寫入一句話木馬,添加壓縮文件後改名為png格式
但是我們要去解密時間戳來獲取圖片地址
解密時間戳用到的函數
1 <?php 2 date_default_timezone_set(‘UTC‘); 3 echo strtotime(‘Wed, 24 May 2017 03:03:14 GMT‘); 4 ?>
【代碼審計】VAuditDemo 文件包含漏洞