DedeCMS V5.7 SP2後臺代碼執行漏洞復現(CNVD-2018-01221)

dedeCMS  V5.7 SP2後臺代碼執行漏洞復現(CNVD-2018-01221)php

1、漏洞描述html

織夢內容管理系統(Dedecms)是一款PHP開源網站管理系統。Dedecms V5.7 SP2版本中的tpl.php中存在代碼執行漏洞,能夠經過該漏洞在增長新標籤中上傳木馬,獲取webshell。該漏洞利用須要登陸後臺,而且後臺的帳戶權限是管理員權限。web

2、漏洞環境搭建正則表達式

一、官方下載DeDeCMS V5.7 SP2(UTF-8),下載地址: http://www.dedecms.com/products/dedecms/downloads/shell

二、使用phpstudy搭建web環境數據庫

三、把下載好的源碼放到網站根目錄下(www),而後開啓phpstudy, 瀏覽器訪問http://192.168.10.171/dedecms/uploads/install/index.php瀏覽器

  

四、點擊我已閱讀並繼續。而後是環境檢測,保存默認便可安全

  

五、接下來是參數配置,須要設置的只有數據庫密碼,把本身的密碼填上去就好了函數

  

六、而後就把環境搭好了網站

  

3、漏洞復現

一、因爲此漏洞是屬於後臺漏洞,須要先登陸到後臺,後臺默認的帳戶和密碼都是admin。Dedecms默認後臺路徑是/uploads/dede。

  

二、分析tpl.php裏面的代碼

  

  a.此處定義了一個savetagfile的函數,首先作一個判斷,參數」action」是否等於savetagfile,如更等於就進行下一步

  b.這裏有一個csrf檢驗函數,須要加上token來繞過限制

  c.正則表達式匹配,這裏的意思是判斷filename參數是否匹配正則表達式的條件,不匹配就不容許修改操做的進行。

  d.把$content裏面的內容寫入到相對用的路徑裏,因爲這一部分代碼除了對寫入的文件名字作了簡單的過濾和一個csrf防禦以外,其餘並無什麼安全措施,致使咱們能夠任意寫入代碼。

三、經過上面的代碼,有csrf檢測防護,須要得到token來進行繞過。再次瀏覽tpl.php代碼,發現action的參數有不少,好比del,edit,upload等等,但只有傳入upload的時候頁面纔會獲取token,而其餘的都沒有獲取token,因此只能經過action=upload來獲取token。

  

四、咱們再去tpl.php裏看一下,發現action的參數有不少,只有經過action=upload來獲取token,瀏覽器訪問http://192.168.10.171/dedecms/uploads/dede/tpl.php?action=upload 

  

五、而後查看頁面源碼,發現token

  

六、經過瀏覽tpl.php代碼,發現要上傳的參數有:action,token,filename,content,構造payload

a.因爲dedecms全局變量註冊的特性,因此這裏的content變量和filename變量可控。

b.能夠把content內容直接寫到以.lib.php結尾的文件中。

Payload: http://192.168.10.171/dedecms/uploads/dede/tpl.php?action=savetagfile&token=d751030d70c713c3687a33b77b92e046&filename=abc.lib.php&content=<?php phpinfo();?>

七、瀏覽器訪問構造的payload,下圖發現成功寫入

  

八、根據代碼能夠看到寫入到taglib目錄,瀏覽器訪問 http://192.168.10.171/dedecms/uploads/include/taglib/abc.lib.php

  

9.gethsell寫入一句話木馬

  

10.菜刀連接,成功getshell

  

4、漏洞防護

1.禁止此處寫入文件。

2.過濾惡意標籤

原文出處:https://www.cnblogs.com/yuzly/p/11326571.html

相關文章
相關標籤/搜索