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

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

缺陷编号:wooyun-2014-082385

漏洞标题:kppw任意文件上传-2

相关厂商:KPPW

漏洞作者: 路人甲

提交时间:2014-11-07 16:35

修复时间:2015-02-05 16:36

公开时间:2015-02-05 16:36

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

危害等级:中

自评Rank:10

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

KPPW是客客团队主打的开源威客系统,同类开源建站产品的领跑者,搭建无物流电子商务在线服务交易平台的首选系统。2014年6月新版KPPW2.5发布了,新版借助客客团队近4年来威客行业的开源产品和商业项目的成熟经验,对前端功能进行了深入改进。KPPW从产品规划、UI设计、程序开发多个环节进行了优化,在未做框架重构情况下对程序进行更优秀的改进。

详细说明:

keke_user_avatar_class.php文件:
static function uploadavatar($uid) {
@header ( "Expires: 0" );
@header ( "Cache-Control: private, post-check=0, pre-check=0, max-age=0", FALSE );
@header ( "Pragma: no-cache" );
if (empty ( $uid )) {
return - 1;
}
if (empty ( $_FILES ['Filedata'] )) {
return - 3;
}
list ( $width, $height, $type, $attr ) = getimagesize ( $_FILES ['Filedata'] ['tmp_name'] );
$imgtype = array (1 => '.gif', 2 => '.jpg', 3 => '.png' );
$filetype = $imgtype [$type];
if (! $filetype)
$filetype = '.jpg';
$tmpavatar = _DATADIR . './tmp/upload' . $uid . $filetype;
file_exists ( $tmpavatar ) && @unlink ( $tmpavatar );
if (@copy ( $_FILES ['Filedata'] ['tmp_name'], $tmpavatar ) || @move_uploaded_file ( $_FILES ['Filedata'] ['tmp_name'], $tmpavatar )) {
@unlink ( $_FILES ['Filedata'] ['tmp_name'] );
list ( $width, $height, $type, $attr ) = getimagesize ( $tmpavatar );
if ($width < 10 || $height < 10 || $type == 4) {
@unlink ( $tmpavatar );
return - 2;
}
} else {
@unlink ( $_FILES ['Filedata'] ['tmp_name'] );
return - 4;
}
$avatarurl = _DATAURL . '/tmp/upload' . $uid . $filetype;
return $avatarurl;
}
在这里$tmpavatar = _DATADIR . './tmp/upload' . $uid . $filetype; 是保存的文件名,在这里uid没有进行过滤,也没有进行长度限制,由于开了GPC 无法利用%00截断。这里就用长文件名截断


BaiduHi_2014-11-7_16-5-27.png


BaiduHi_2014-11-7_16-11-39.png

漏洞证明:

BaiduHi_2014-11-7_16-5-27.png


BaiduHi_2014-11-7_16-11-39.png

修复方案:

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

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