齊博cms漏洞分析

**php

0x01 原理分析

**
仍是很早以前爆出來的漏洞,如今拿出來學習一下,參考阿里巴巴:
https://security.alibaba.com/...
漏洞發生在/inc/common.inc.php頁面中。首先看這個函數:圖片描述sql

首先使用ini_get來獲取php.ini中變量'register_globals'的值,而register_globals表明的意思是提交的請求是否註冊爲全局變量,取值爲OFF和ON,通常默認配置爲OFF,那麼將會執行extract()函數。
extract()函數是對於提交的$_FILE變量,若是已經賦值那麼將跳過,不進行賦值操做,若是沒有賦值,那麼進行初始化操做。
而且與此同時,齊博cms並未對$_FILE進行過濾操做。
圖片描述函數

所以,咱們只須要找到一個未進行初始化的變量,已$_FILE的形式提交,那麼他會自動的給你一個賦值,而且沒有進行過濾,若是參與到sql注入語句中,那麼就可能造成注入。學習

0x02 漏洞利用

這裏仍是以/member/comment.php文件中的變量$cidDB爲例。
圖片描述spa

這裏的cidDB變量沒有進行初始化操做,而且參與了sql語句,所以只須要經過$_FILE的形式提交該cidDB變量,從而對其進行覆蓋,完成注入,過程以下:
首先構造上傳表單頁面,源碼以下:3d


<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>orm


提交後抓包,並修改filename爲payload,成功注入。
圖片描述htm

相關文章
相關標籤/搜索