首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>漏洞资料>文章内容
QQ Mail跨站脚本漏洞
来源:http://www.80sec.com/qqmail-xss.html 作者:80sec 发布时间:2008-07-08  

漏洞说明:QQ Mail是Tencent公司提供的webmail服务,你可以使用你的QQ帐户来登陆使用Mail服务,具体的信息可以访问http://mail.qq.com/。但是80sec团队成员在QQ Mail里发现存在跨站脚本漏洞,恶意用户可以通过该漏洞在邮件里伪造登陆表单窃取目标用户的密码以及偷取Cookie以取得其他用户的身份,或者使用ajax等技术读取用户的敏感信息。

漏洞成因:QQ Mail的Javascript Dom部分在处理邮件内容,对邮件内容字符串的处理分为str和code两个流程,通过组合的标签内容可以误导Javascript处理图片内容和文字链接进入str流程,将HTML编码字符串还原为HTML标签。

漏洞测试:(已经修复)

发送如下内容即可引发XSS


<div>&lt;img src="http://src=" onerror="alert(x111)"&gt;</div>

漏洞解析:

QQ Mail会自动解析邮件内容,发现匹配的链接将转换成HTML内容,由LinkMaker函数实现:


function LinkMaker( str ) {
return str.replace( /(https?:\/\/[\w.]+[^ \f\n\r\t\v\"\\\<\>\[\]\u2100-\uFFFF]*)|([a-zA-Z_0-9.-]+@[a-zA-Z_0-9.-]+\.\w+)/ig, function( s, v1, v2 ) {
if ( v2 )
return [ '<a href="mailto:', v2, '">', v2, '</a>' ].join( “” );
else
return [ '<a href="', s, '">', s, '</a>' ].join( “” );
} );

SwapImg函数处理邮件中IMG标签:


function SwapImg(id, ajustValue)
{
var as = GelTags("img", S(id));
for (var i = 0; i < as.length; i++)
{
if (as[i].src)
{
ZoomImgToBody(as[i], ajustValue);
as[i].onload = function()
{
ZoomImgToBody(this, ajustValue, true);
};
}
}
}

进入str流程将会使用DOM中的innerText和textContent处理字符串,邮件中的HTML编码字符串转成HTML标签(&lt;将转换成”<”,&gt;将转换成”>”),如下的测试:


<div id="contentDiv" class="body"><div>&nbsp;</div>
<div>&lt;img src="" onerror="alert(1);"&gt;</div></div>
<script>
v=document.getElementById("contentDiv").innerText; //ie
//v=document.getElementById("contentDiv").textContent; //FIREFOX
alert(v)
</script>

漏洞状态:

80sec于7.4号发现此漏洞
80sec于7.4号通知官方
Tencent于7.4号修复此漏洞
80sec于7.7号发布此漏洞公告

漏洞解决:

QQ Mail已经修补漏洞,转义字符串中的”<” ,”>”.

修改js在http://res.mail.qq.com/zh_CN/htmledition20080626/js/all.js


var str = obj.nodeValue.replace(/</g,"&lt;").replace(/>/g,"&gt;"); //1993行

建议程序员使用DOM中的元素的时候要注意安全问题,这些元素还是由用户输入中带来的,使用之前还是需要过滤。

感谢幻影dummy和luoluo提供和调试该漏洞。

本站内容均为原创,转载请务必保留署名与链接!
QQ Mail跨站脚本漏洞:http://www.80sec.com/qqmail-xss.html


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·XSOK环境变量本地命令执行漏洞
·N点虚拟主机管理系统 致命漏洞。
·南方数据企业网站管理系统V10.0
·动网(DVBBS)Version 8.2.0 后
·Solaris 10 telnet漏洞及解决
·破解无线路由器密码,常见无线密
·Nginx %00空字节执行php漏洞
·WinWebMail、7I24提权漏洞
·XPCD xpcd-svga本地缓冲区溢出漏
·Struts2多个漏洞简要分析
·ecshop2.72 api.php 文件鸡肋注
·Discuz!后台拿Webshell 0day
  相关文章
·Z-blog跨站脚本攻击漏洞
·PHP 168 SQL注射漏洞
·Phpcms 2007 远程文件包含漏洞
·Office漏洞导致访问特定网站执行
·暴风影音2008Beta1 最新远程溢出
·Z-blog又一严重跨站脚本攻击漏洞
·Discuz!论坛wap功能模块编码的注
·安全天使sablog注射漏洞
·php第三方编码转换类安全警告
·phpwind任意修改管理员密码漏洞
·Apache Tomcat UTF-8编码漏洞
·dedecms注射漏洞
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved