(第N次)用友ICC网站客服系统任意文件上传漏洞

编号8378
Urlhttp://www.wooyun.org/bug.php?action=view&id=8378
漏洞状态厂商已经确认
漏洞标题(第N次)用友ICC网站客服系统任意文件上传漏洞
漏洞类型文件上传导致任意代码执行
厂商用友软件
白帽子鬼哥
提交日期2012-06-16 22:32:00
公开日期2012-07-31 22:33:00
修复时间(not set)
确认时间2012-06-18 00:00:00
Confirm Spend2
漏洞标签
关注数0
收藏数0
白帽评级
白帽自评rank20
厂商评级
厂商评rank20
漏洞简介
用友ICC网站客服系统任意文件上传漏洞已经暴过很多次了,上次我也暴了个 昨天看了下代码发现还有个地方存在任意上传。官方修复确实不彻底呀!!
漏洞细节

漏洞文件:/5107/include/sendmsg.class.php

function saveAttach() {
global $errorMsg, $lang, $CONFIG, $COMMON, $basePath;

if (empty($_FILES["attach"]["name"])) return '';
//生成留言附件保存目录.
$path = 'data/leavewordfile/'.date("Ymd").'/';
if (!is_dir($CONFIG->basePath.$path)) {
$COMMON->createDir($CONFIG->basePath.$path);
}

//文件名.
$fileName = date('YmdHis').rand(100000, 999999).strrchr($_FILES['attach']['name'], '.');
$sysFileName = $CONFIG->basePath.$path.$fileName;
$urlFileName = $CONFIG->baseUrl.$path.$fileName;

if (!empty($_FILES['attach']['name'])) {
//附件文件非空时检测文件是否合法.
if ($this->checkFileType(strrchr($_FILES['attach']['name'], '.'))) {
//附件文件类型不合法//
$errorMsg .= $lang['attach_type'];
}else if ($_FILES['attach']['size'] >= 5242880 || $_FILES['attach']['size'] <= 0) {
//附件文件大小不合法/
$errorMsg .= $lang['attach_size'];
}
}

//上传附件//
move_uploaded_file($_FILES["attach"]["tmp_name"], $sysFileName);
chmod($sysFileName, 0444);
return $urlFileName;
}


没过滤啊。。导致可以直接上传php
具体利用:
打开:http://xxx.com/5107/msg/sendmsg.php 附件那里直接传php
上传后的地址会在 /data/leavewordfile/日期/随即文件名.php
文件名虽然随即了。 但是可以拿工具扫猜。基本上只是时间问题 !

POC

随便找了个站测试如下↓

修复方案

过滤拉。
希望不要再让我找到你们的这类漏洞哦。。

状态信息 2012-06-16: 细节已通知厂商并且等待厂商处理中
2012-06-18: 厂商已经确认,细节仅向厂商公开
2012-06-21: 细节向第三方安全合作伙伴开放
2012-08-12: 细节向核心白帽子及相关领域专家公开
2012-08-22: 细节向普通白帽子公开
2012-09-01: 细节向实习白帽子公开
2012-07-31: 细节向公众公开
厂商回复已确认在基于部分特定发布版本的代码及其分支确实存在此问题,上传的文件名随机但可能被猜测,目前开发人员正在修复此问题并审查文件上传功能相关的所有代码,万分感谢 鬼哥@乌云 对ICC产品的安全性提升的巨大帮助。
回应信息危害等级:高漏洞Rank:20 确认时间:2012-06-18 09:30
Showing 1-10 of 10 items.
评论内容评论人点赞数评论时间

@用友软件 感谢是对的,应该给点鼓励,他会更给力!

also02012-08-01 02:11:00

怎么都搞用友的ICC上传呢,哈哈

Cp020402012-07-11 21:59:00

@鬼哥 哦膜拜 我说怎么找不到呢 呵呵

possible02012-06-17 14:06:00

@possible 拿个shell在打包下。

鬼哥02012-06-17 12:19:00

@鬼哥 去哪下载源代码?

possible02012-06-17 08:27:00

囧。

imlonghao02012-06-17 05:44:00

@Moments 哈哈。。

鬼哥02012-06-16 23:00:00

让官方直接聘你去修复吧 哈哈

Moments02012-06-16 22:43:00

= = 囧

gainover02012-06-16 22:40:00

— —

zeracker02012-06-16 22:36:00