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

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

缺陷编号:wooyun-2014-081526

漏洞标题:大米CMS多处XSS盲打后台

相关厂商:damicms.com

漏洞作者: xfkxfk

提交时间:2014-11-01 15:40

修复时间:2015-01-30 15:42

公开时间:2015-01-30 15:42

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

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-11-01: 细节已通知厂商并且等待厂商处理中
2014-11-01: 厂商已经确认,细节仅向厂商公开
2014-11-04: 细节向第三方安全合作伙伴开放
2014-12-26: 细节向核心白帽子及相关领域专家公开
2015-01-05: 细节向普通白帽子公开
2015-01-15: 细节向实习白帽子公开
2015-01-30: 细节向公众公开

简要描述:

大米CMS多处XSS盲打后台

详细说明:

大米CMS多处XSS可以盲打后台,大米CMS后台的SQL注入一大堆,只要进了后台获取数据不成问题
第一处
文件/Web/Lib/Action/GuestbookAction.class.php

public function update()
{
//输出gb2312码,ajax默认转的是utf-8
header("Content-type: text/html; charset=utf-8");
if(!isset($_POST['author']) or !isset($_POST['content']))
{
alert('非法操作!',3);
}
//读取数据库和缓存
$pl = M('guestbook');
$config = F('basic','','./Web/Conf/');
//相关判断
if(Session::is_set('posttime'))
{
$temp = Session::get('posttime') + $config['postovertime'];
if(time() < $temp)
{
echo "请不要连续发布!";
exit;
}
}
//准备工作
if($config['bookoff'] == 0) $data['status'] = 0;
//先解密js的escape
$data['author'] = htmlspecialchars(unescape($_POST['author']));
$data['content'] = htmlspecialchars(trim(unescape($_POST['content'])));
$data['title'] = htmlspecialchars(trim(unescape($_POST['title'])));
$data['tel'] = htmlspecialchars(trim(unescape($_POST['tel'])));
$data['ip'] = get_client_ip();
$data['addtime'] = date('Y-m-d H:i:s');
//处理数据
if($pl->add($data))
{
Session::set('posttime', time());
if($config['bookoff'] == 0)
{
echo '发布成功,留言需要管理员审核!';
exit;
}
else
{
echo '发布成功!';
exit;
}
}
else
{
echo '发布失败!';
exit;
}
}


这里$data['ip'] = get_client_ip();
但是get_client_ip是没有处理任何XSS内容的
发表文章时X-Forwarded_For可设置XSS payload,发表留言后,直接进入数据库,然后等管理员审核
第二处
文件/Web/Lib/Action/IndexAction.class.php

public function doreglink()
{
header("Content-type: text/html; charset=utf-8");
$data['title'] = $_POST['Title'];
$data['url'] = $_POST['LinkUrl'];
$data['logo'] = $_POST['LogoUrl'];
$data['status'] = 0;
$data['rank'] = 10;
$link = M('link');
if($link->add($data))
{
echo "<br/><br/><br/><font color=red>添加成功,等待审核!请在贵站加上本站链接。</font>";
}
else
{
echo "<br/><br/><br/><font color=red>添加失败,请联系管理员!</font>";
}
}


这里的三个参数都没有过滤XSS
申请链接后,等管理员审核

漏洞证明:

第一处发送留言时:

X-Forwarded_For="><img/src=1 onerror=alert(1)>


dami4.png


第二处:

dami5.png


dami6.png

修复方案:

remove_xss()

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:1

确认时间:2014-11-01 17:33

厂商回复:

xss确认

最新状态:

暂无


漏洞评价:

评论