|
进入str流程将会使用DOM中的innerText和textContent处理字符串,邮件中的HTML编码字符串转成HTML标签(<将转换成”<”,>将转换成”>”),如下的测试:
|
<div id="contentDiv" class="body"><div> </div> <div><img src="" onerror="alert(1);"></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,"<").replace(/>/g,">"); //1993行 |
建议程序员使用DOM中的元素的时候要注意安全问题,这些元素还是由用户输入中带来的,使用之前还是需要过滤。
感谢幻影dummy和luoluo提供和调试该漏洞。
本站内容均为原创,转载请务必保留署名与链接!
QQ Mail跨站脚本漏洞:http://www.80sec.com/qqmail-xss.html 上一页 [1] [2] |