hi.baidu embed tag html injection bug

Author: GreySign
Email: g[at]jj.tc
Blog: http://hi.baidu.com/greysign
Team: http://www.80vul.com
date: 2010年5月11日

一 综述
百度空间(hi.baidu.com)在使用embed标签没有指定type,导致在webkit内核下的浏览器可嵌入html代码。

二 分析

百度空间插入视频使用embed标签,对插入目标的网站域名进行验证,只允许插入白名单内的网站,白名单如下:
\\
||土豆网 56.com 优酷网
||酷6网 六间房 mofile.com
||QQ播客 新浪视频 sohu视频
||偶偶视频 UUME youtube
//
问题出现在百度并未对embed标签指定[type="application/x-shockwave-flash"]属性,而webkit内核的浏览器在渲染embed时,未指定type的会使用text/html去引入src指向的资源,从而导致可引入html代码进行执行,加上百度完全信任白名单中的网站,只要利用白名单网站的跨站漏洞即可进行攻击。
测试代码如下:
<embed src="http://www.80vul.com/sobb/sobb02.php" allowscriptaccess="never" allowfullscreen="true" width="420" height="363" wmode="transparent">

而指定了type的代码不会受威胁:
<embed src="http://www.80vul.com/sobb/sobb02.php" allowscriptaccess="never" allowfullscreen="true" width="420" height="363" wmode="transparent" type="application/x-shockwave-flash">

三 利用

在视频插入中,填入地址:
http://www.tudou.com/my/channel/item.srv?icode=enQCgQKJTDs&callback=%3Ciframe%20src=http://www.baidu.com%20type=%22text/javascript%22%3E%3C/iframe%3E

四 补丁[fix]

等待官方补丁

update 2010年5月13日

hi的编辑器指定了对embed标签指定[type="application/x-shockwave-flash"]属性

发表评论?

0 条评论。

发表评论