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

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

缺陷编号:wooyun-2014-060014

漏洞标题:绕过问卷星过滤get存储型XSS

相关厂商:sojump.com

漏洞作者: 乌云魔理沙

提交时间:2014-05-12 09:01

修复时间:2014-06-26 09:02

公开时间:2014-06-26 09:02

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

危害等级:高

自评Rank:12

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-12: 细节已通知厂商并且等待厂商处理中
2014-05-12: 厂商已经确认,细节仅向厂商公开
2014-05-22: 细节向核心白帽子及相关领域专家公开
2014-06-01: 细节向普通白帽子公开
2014-06-11: 细节向实习白帽子公开
2014-06-26: 细节向公众公开

简要描述:

问卷星对提交的数据过滤不严可导致在详情页和在列表浏览到该问卷的用户受到攻击。
问卷调查向来需要进行大量的分发和回收,可导致携带恶意代码的问卷通过网址被散播到社交网站,社交工具等地,
由此可见,该漏洞的影响范围还是蛮大的。
这里我只是用最简单的弹窗表示效果,目测这个方法可以绕过过滤执行任意客户端脚本。
也由于其公开性,可以显示在官网的公开问卷页面,或者把标题设为敏感词,若用户搜到该页面,无需进入投票详情页,可在搜索列表页就收到攻击。
当然这bug只是免费版的。。其他版本或许还会有些问题,木钱升级,就先这样吧
。(*>ω<)人(・ω・*)。

详细说明:

问卷星对提交问卷说明一栏的内容存在过滤缺陷:
UBB过滤了大部分容易造成安全隐患的关键字和标签。
但是没有过滤iframe,所以我们可以利用iframe的src属性来往页面中添加我们的脚本。
但是直接输入的话,只能执行些没用的语句alert document.url什么的,但是无法获得用户相关的信息。
document.cookie里cookie更是直接被打码,直接执行什么js语句根本不可能能,还会弹出“提交的请求非法”提示。
但是可以用document.write在客户端查看页面的时候动态写入脚本。

<iframe style="border:0px;" src="javascript:document.write('<b>21313</b>'+'<'+'s'+'c'+'r'+'i'+'p'+'t'+'>'+'alert('+'document'+'.c'+'o'+'o'+'k'+'i'+'e'+')'+'<'+'/'+'s'+'c'+'r'+'i'+'p'+'t'+'>')"> </iframe>


由于该系统也没有对CSS过滤,所以稍微“美化”了下iframe,让页面看起来更像正常页面。

顺带请教下有没有人成功使用css expression过?

漏洞证明:

先放上证明页面:
投票详情页:

http://www.sojump.com/jq/3401598.aspx


h1.png


搜索页:

http://www.sojump.com/publicsurveys.aspx?keyword=test525252&sort=1&jt=&qc=0,20


h5.png


实现过程:
在修改问卷说明一栏点击HTML,进入HTML编辑模式。

h2.png


输入脚本图中所示脚本后还没提交自己就弹出来了。。。不过这个证明不了什么。。。

h3.png


可以看见,我们的脚本已经成功插入了进了页面中

h4.png


修复方案:

加强对提交的内容的过滤机制

版权声明:转载请注明来源 乌云魔理沙@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2014-05-12 10:10

厂商回复:

没有过滤这个标签是因为有用户有这个需求,需要进行嵌入。现在已经修复此漏洞。

最新状态:

暂无


漏洞评价:

评论