当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2012-09415

漏洞标题:韩国某web编辑器0day

相关厂商:韩国

漏洞作者: ca3tie1

提交时间:2012-07-10 13:53

修复时间:2012-07-10 13:53

公开时间:2012-07-10 13:53

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:15

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-07-10: 积极联系厂商并且等待厂商认领中,细节不对外公开
2012-07-10: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

该编辑器在韩国使用比较广泛,www.hani.co.kr、www.kbs.co.kr、www.joinsmsn.com中都有使用。由于涉及大大站,具体程序名称就不便直接发布了。

详细说明:

主要问题在于上传类在对文件扩展名做验证的时候不严谨导致攻击者可上传PHP。By Ca3tie1
先看上传函数:

if ($file->getFileSize("Filedata") > 0) {
$save_name = $req->get("save_name");
if ($save_name == null || $save_name == "")
$save_name = $file -> nameUnique('ph_');
$file_name = $file->getFileName("Filedata");
if ($file -> isUploadable($file_name)) //扩展名的验证,如果验证不过则扩展名定死为tmp。
$file_ext = $file->name2Ext($file_name); //取出扩展名
else
$file_ext = 'tmp';
$save_name = uniqid(date('ymd_'));
$file_server = $file->file_Copy("Filedata", $savearea.$save_name.'.'.$file_ext);
}


跟进isUploadable函数:

function isUploadable($fileName) {
return !(rainUtil::find($this->forbidden_extension_patten, $fileName));
}
//这里涉及到forbidden_extension_patten,定义为:var $forbidden_extension_patten = '(html|htm|php|php3|cgi|phtml|shtml|jsp|asp|exe|com|dll)$';
再继续跟进find函数:
function find($patternStr, $str, $reg = Array()) {
return (ereg($patternStr,$str, $reg)) ? true:false; //问题就在这里了,ereg函数是区分大小写的!只要我们提交的文件名的扩展名为pHp即可绕过此处验证。
}


绕过扩展名验证后继续看上传函数中的取出扩展名的代码:

$file_ext = $file->name2Ext($file_name);


我们继续跟进name2Ext函数:

function name2Ext($fileName) {
$tar_file_extension = "";
if ($fileName != "") {
if (ereg("\.([^\.]+)$", $fileName, $tmp_reg))
$tar_file_extension = substr(strtolower($tmp_reg[1]), 0, 4); //最终会将文件名中的扩展名转换成小写!!
else
$tar_file_extension = "tmp";
} else
$tar_file_extension = "";
return $tar_file_extension;
}


完美绕过,这是韩国棒子写的程序,当然和国内的没法比。若分析有误望指出!拜谢!这个程序有多个版本,并且每个版本都有不同的漏洞,任意文件下载、突破目录限制上传等等!

漏洞证明:



修复方案:

你懂的~!!!

版权声明:转载请注明来源 ca3tie1@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:8 (WooYun评价)


漏洞评价:

评论

  1. 2012-07-10 14:08 | _Evil ( 普通白帽子 | Rank:418 漏洞数:59 | 万事无他,唯手熟尔。农民也会编程,别指望天...)

    不错的

  2. 2012-07-10 14:21 | imlonghao ( 普通白帽子 | Rank:730 漏洞数:74 )

    恭喜开号成功。

  3. 2012-07-10 14:34 | 低调的瘦子 ( 普通白帽子 | Rank:466 漏洞数:68 | loading……………………)

    我怎么记得这个好久之前在红黑出现过~

  4. 2012-07-10 15:35 | ca3tie1 ( 路人 | Rank:18 漏洞数:4 | castiel)

    @imlonghao 嘿嘿!!!

  5. 2012-07-10 15:36 | ca3tie1 ( 路人 | Rank:18 漏洞数:4 | castiel)

    @低调的瘦子 这个完全是本人挖掘!但是我想以前搞韩国的大牛应该还是有,不过不知道全不全。记得韩国的cheditor的0day也是一样,在我之前貌似也有大牛有,只是没放出来!

  6. 2012-07-11 08:42 | 低调的瘦子 ( 普通白帽子 | Rank:466 漏洞数:68 | loading……………………)

    @ca3tie1 http://www.2cto.com/Article/201205/129788.html 哈哈 也是你的!!不过这个五月一号就有了~~

  7. 2012-07-11 16:43 | ca3tie1 ( 路人 | Rank:18 漏洞数:4 | castiel)

    @低调的瘦子 嗯,最早是在我自己blog公布的,然后被转载出去的!

  8. 2012-07-13 21:22 | 树熊 ( 实习白帽子 | Rank:38 漏洞数:7 | 关注技术、关注安全)

    这个我要学习一下,在国内貌似这个editor用的不多,没这么看到过,主要还是ewebeditor和FCKeditor,收藏起来看看以后是否用的到,呵呵~