漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2011-01312
漏洞标题:微软IE浏览器字符集判别缺陷+不严谨的json使用=通用xss
相关厂商:微软Ie浏览器和其他技术
漏洞作者: xsser
提交时间:2011-02-13 19:34
修复时间:2011-02-13 19:35
公开时间:2011-02-13 19:35
漏洞类型:设计错误/逻辑缺陷
危害等级:中
自评Rank:10
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2011-02-13: 积极联系厂商并且等待厂商认领中,细节不对外公开
2011-02-13: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
微软浏览器在解析网页等内容时,判断字符集的方式上存在问题,根据RFC标准上应该header头设置优先于本地的meta和bom等其他方式识别出的字符集,但是微软ie会忽略掉其他设置的字符集而以Bom判断出的字符集优先;一般字符集都不会有什么问题,但是因为utf7的特殊性,他的Bom为+/v8等,完全是合法字符,所以一旦使用utf-7字符集的时候就可能导致一些基于文本过滤的规则失效,譬如典型的过滤<>"等等;由于bom的特殊性,他要求在文件的头几个字节,所以应用空间比较有限,目前被安全人员披露的独立存储css时导致的问题,应用如百度空间等,以及被广泛使用的json,json的callback一般都是处于返回请求的头几个字节,json被广泛使用并且能够被控制callback而没有白名单限制的不在少数,本来json也不会导致严重的安全问题,但是国内互联网厂商在技术严谨方面比较缺乏,http协议里的Content-Type决定了ie处理内容的方式,本来按照规范,json的返回头应该设置为Content-Type: text/javascript;,这样ie在处理这个请求的时候就会知道这是个json请求,而不会去做其他的解析,但是在国内的厂商里头,大家基本无视该选项,而一般都是默认设置为Content-Type: text/html,于是导致大量的xss。
详细说明:
利用条件和测试方式
条件
具体参考
漏洞证明:
修复方案:
1 微软修复charset的识别方式 = = 可能性不知道大不大
2 各厂商在使用json的时候,在基础框架里严格设置好json头
版权声明:转载请注明来源 xsser@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝
漏洞Rank:18 (WooYun评价)