ewebeditor 3 8 任意檔案上傳漏洞解析

2021-08-31 22:00:19 字數 2663 閱讀 8048

首先這個是別人早都發出來的乙個漏洞,exp也寫好了,如下

ewebeditor3.8 for php任意檔案上exp

這是乙個任意檔案上傳漏洞,目標版本是ewebeditor 3.8 for php ,不過估計asp應該也有類似的問題,具體的解析思路是:

文檔案上傳很直接的我們就定位到了admin/upload.php,不過很可惜在檔案頭就發現了

require("private.php");這個,這意味著這個upload.php我們幾乎無法使用的。

但是繼續往下看,我們翻到別的目錄發現了php這個目錄,而這個目錄中,共有3各有意義的檔案,個個都非常重要

1. config.php乙個類似資料庫儲存的檔案,中間儲存了使用者名稱密碼,以及一些樣式

2.browse.php 是乙個用來檢視資料夾路徑的php,最重要的是他們有檢查使用者登入與否

3.upload.php 這就是乙個上傳的頁面,同樣也沒有檢查使用者

我們首先關注upload.php這個檔案,這也是這個exp的處理的地方

<?php

require("config.php");

initupload();

if (isset($_get["action"]))else

switch ($saction)

明顯在這個檔案一開始就有乙個initupload(); 的存在

function  initupload()

} if ($bvalidstyle == false)

$sbaseurl = $astyleconfig[19];

$nuploadobject = (int)$astyleconfig[20];

$nautodir = (int)$astyleconfig[21];

$suploaddir = $astyleconfig[3];

if (substr($suploaddir, 0, 1) != "/")

switch ($sbaseurl)

switch (strtoupper($stype))

$sallowext = strtoupper($sallowext);

$nsltflag = (int)$astyleconfig[29];

$nsltminsize = (int)$astyleconfig[30];

$nsltoksize = (int)$astyleconfig[31];

$nsyflag = (int)$astyleconfig[32];

$ssytext = $astyleconfig[33];

$ssyfontcolor = $astyleconfig[34];

$nsyfontsize = (int)$astyleconfig[35];

$ssyfontname = $astyleconfig[36];

$ssypicpath = $astyleconfig[37];

$nsltsyobject = (int)$astyleconfig[38];

$ssltsyext = $astyleconfig[39];

$nsyminsize = (int)$astyleconfig[40];

$ssyshadowcolor = $astyleconfig[41];

$nsyshadowoffset = (int)$astyleconfig[42];

}

這個方法由於採用了全域性變數設定,可以被使用者提交的變數所覆蓋,他的原意是通過config.php得到這些初始引數的,這就是漏洞所在,而我們通過觀察config.php可得知原始樣式表共有11個,所以就理解了exp中的樣式表為astyle[12]的原因了,

然後通過自己修改了下已有的astyle,其中新增允許上傳為php,基本上漏洞就算利用好了

同樣的理論,我們去觀察這個目錄下剩餘的

browse.php

而且此時我們發現別人寫的exp存在著乙個很奇怪的問題,在config.php中,我們可以看到

寫道一項一共有43項,而別人提供的exp只有42項,而其中著關鍵最後一項在browse.php中有著大作用,我覺得這個exp可能是故意漏掉了這個關鍵的乙個,

$sallowbrowse = $astyleconfig[43];
分析ewebeditor browse.php可以採用和upload.php相同的手法覆蓋掉config.php,然後在browse。php中我們可以看到

$suploaddir = $astyleconfig[3];
所以我們構造的時候可以選擇suploaddir=空,dir=空

$sdir = totrim("dir");

if ($sdir != "") else

}

但是由於

switch (strtoupper($stype))
這個的存在,使得最終列檔案效果無法列出php和asp等,不過爆目錄效果還是可以的

最終生成的browse.html

ewebeditor3.8 for php檢視檔案目錄

使用後,會彈出新的頁面,檢視頁面源**就可以得到目錄列表和少量檔案了

fckeditor任意檔案上傳漏洞

1.建立.htaccess檔案,內容如下 htaccess檔案可以用來設定某個目錄和某個目錄的子目錄的許可權,以上內容的意思是將副檔名是 php.gif 的檔案解析成php 2.使用如下url,上傳上面建立的的.htaccess檔案 通過這一步上傳,上傳目錄的 php.gif 檔案apache會按照...

任意檔案上傳漏洞修復

一 include dialog select soft post.php檔案,搜尋 大概在72行的樣子 fullfilename cfg basedir.activepath.filename 修改為if preg match php pl cgi asp aspx jsp php5 php4 p...

dedecmsV5 7 任意檔案上傳漏洞修復

問題檔案 在 include dialog select soft post.php檔案 解決方法 先找到這個檔案 include dialog select soft post.php,找到大概72,73行的 fullfilename cfg basedir.activepath.filename...