首先這個是別人早都發出來的乙個漏洞,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...