1. 程式人生 > >齊博cms 7.0 漏洞分析

齊博cms 7.0 漏洞分析

**

0x01 原理分析

**
還是很早之前爆出來的漏洞,現在拿出來學習一下,參考阿里巴巴:
https://security.alibaba.com/...
漏洞發生在/inc/common.inc.php頁面中。首先看這個函式:

首先使用ini_get來獲取php.ini中變數'register_globals'的值,而register_globals代表的意思是提交的請求是否註冊為全域性變數,取值為OFF和ON,一般預設配置為OFF,那麼將會執行extract()函式。
extract()函式是對於提交的$_FILE變數,如果已經賦值那麼將跳過,不進行賦值操作,如果沒有賦值,那麼進行初始化操作。
並且與此同時,齊博cms並未對$_FILE進行過濾操作。

因此,我們只需要找到一個未進行初始化的變數,已$_FILE的形式提交,那麼他會自動的給你一個賦值,並且沒有進行過濾,如果參與到sql注入語句中,那麼就可能形成注入。

0x02 漏洞利用

這裡還是以/member/comment.php檔案中的變數$cidDB為例。

這裡的cidDB變數沒有進行初始化操作,並且參與了sql語句,因此只需要通過$_FILE的形式提交該cidDB變數,從而對其進行覆蓋,完成注入,過程如下:
首先構造上傳表單頁面,原始碼如下:

<form action="http://127.0.0.1/qibo/member/... method="POST" enctype="multipart/form-data">
<input type="file" name="cidDB" value="test" style="width:350px;"/><br/> 
<input type="submit" value="確定"/> </form>

提交後抓包,並修改filename為payload,成功注入。