1. 程式人生 > >【代碼審計】VAuditDemo 文件包含漏洞

【代碼審計】VAuditDemo 文件包含漏洞

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 文件包含漏洞