当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-039032

漏洞标题:腾讯客服平台2+1枚漏洞(登陆绕过)

相关厂商:腾讯

漏洞作者: 邪神

提交时间:2013-10-07 18:51

修复时间:2013-10-08 11:21

公开时间:2013-10-08 11:21

漏洞类型:

危害等级:中

自评Rank:7

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-10-07: 细节已通知厂商并且等待厂商处理中
2013-10-08: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

详细说明:

一、详细说明:
登录部分通过noPermiss(js)
http://347.kf.ieodopen.qq.com/admin/js/index.js?v=20121007
因为*.kf.ieodopen.qq.com域名开通的数字代表应用编号 所以我认为这属于框架性漏洞例如1.kf.ieodopen.qq.com也存在此漏洞:)
view source01 kfadmin.checkLogin = function() {
02 if (top.kfadmin.isLogin == true) return;
03 top.kfadmin.isLogin = "on";
04 var loginCallback = new Callback("login");
05 loginCallback.deal = function() {
06 $("#pdtName", top.kfadmin.headerFrameDoc).html(this.result.obj.sOfferName);
07 $("#pdtName", top.kfadmin.headerFrameDoc)[0].title = this.result.obj.sOfferName;
08 if (~~this.result.obj.isLogin == 1) {
09 top.document.getElementById("total_frame").rows = "80,*";
10 top.kfadmin.isLogin = true;
11 top.kfadmin.sUin = this.result.obj.sUin;
12 $("#spnLogout", kfadmin.headerFrameDoc).html("您好!" + this.result.obj.sNickName + "(" + this.result.obj.sUin + ")");
13 $("#pLogin", top.kfadmin.headerFrameDoc).hide();
14 $("#pLogout", kfadmin.headerFrameDoc).show();
15 <strong> if (~~this.result.obj.noPermiss == 1) {</strong>
16 alert("对不起,您没有操作后台的权限!");
17 top.window.location.href = "/";
18 top.kfadmin.noPermiss = true;
19 return false;
20 }
21 } else {
22 top.kfadmin.isLogin = false;
23 $("#pLogout", kfadmin.headerFrameDoc).hide();
24 $("#pLogin", top.kfadmin.headerFrameDoc).show();
25 }
26 }
使用Burp修改noPermiss =0 可以绕过js判断登录
一、详细说明:
由于结合上个漏洞可绕过登录进行操作
由于绕过的权限还会在服务器再次判断所有没有发布权限
但确实存在储存性XSS 如果拿到正确的帐号密码可发布存在储存性XSS的公告
请评分者适当加高分值谢谢

漏洞证明:

img src="/upload/201310/0717485675f464edf4c1431f75fb7d7cec4cd14d.png" alt="114751qvS.png" />

2.png

<null

修复方案:

三、修复方案:
使用服务器对登录进行判断
ps:虽然上面的漏洞可以绕进后台但后面做操作的时候服务器还是会进行判断 所以腾讯安全应急响应中心给予忽略操作 请以后不要提交这样的漏洞省的麻烦人家验证(当然这只是对我说的):)
漏洞名称:腾讯客服开放平台 xss
过滤输入输出
附属漏洞一枚:
对于第一个漏洞我第二天测试的时候好像进行了修复操作参数noPermiss从返回的json里消失了
但是他的js还有一个判断就是isLogin参数
view source01 kfadmin.checkLogin = function() {
02 if (top.kfadmin.isLogin == true) return;
03 top.kfadmin.isLogin = "on";
04 var loginCallback = new Callback("login");
05 loginCallback.deal = function() {
06 $("#pdtName", top.kfadmin.headerFrameDoc).html(this.result.obj.sOfferName);
07 $("#pdtName", top.kfadmin.headerFrameDoc)[0].title = this.result.obj.sOfferName;
08 <strong> if (~~this.result.obj.isLogin == 1) {</strong>
09 top.document.getElementById("total_frame").rows = "80,*";
10 top.kfadmin.isLogin = true;
11 top.kfadmin.sUin = this.result.obj.sUin;
12 $("#spnLogout", kfadmin.headerFrameDoc).html("您好!" + this.result.obj.sNickName + "(" + this.result.obj.sUin + ")");
13 $("#pLogin", top.kfadmin.headerFrameDoc).hide();
14 $("#pLogout", kfadmin.headerFrameDoc).show();
15 if (~~this.result.obj.noPermiss == 1) {
16 alert("对不起,您没有操作后台的权限!");
17 top.window.location.href = "/";
18 top.kfadmin.noPermiss = true;
19 return false;
20 }
21 } else {
22 top.kfadmin.isLogin = false;
23 $("#pLogout", kfadmin.headerFrameDoc).hide();
24 $("#pLogin", top.kfadmin.headerFrameDoc).show();
25 }
26 }
正常的返回json是
{“resultcode”:0,”resultinfo”:{“errmsg”:”\u4f60\u8fd8\u6ca1\u6709\u767b\u5f55\uff0c\u8bf7\u5148\u767b\u5f55″,”list”:[],”obj”:{“isLogin”:0,”sUin”:”0″,”sNickName”:””,”sLogo”:””,”sOfferName”:”\u672a
\u77e5\u5e94\u7528″,”isOfferExist”:”1″}}}
我修改为
{“resultcode”:0,”resultinfo”:{“errmsg”:””,”list”:[],”obj”:{“isLogin”:1,”sUin”:”365297318″,”sNickName”:”MythHack”,”sLogo”:””,”sOfferName”:””,”isOfferExist”:”1″}}}
结果:

3.png


ps:这个是在腾讯应急响应中心人员在测试第一个漏洞的时候没成功联系我 然后我发现那个参数没有了但是有islogin 因为昨天我看了那个js所以我记得这个也是里面的一个判断条件所以再次绕过:)

版权声明:转载请注明来源 邪神@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2013-10-08 11:21

厂商回复:

感谢反馈,但该平台有权限控制,无法执行管理操作。上面弹框处是预览时触发的,所见即所得,且无提交公告的权限,因此不提供rank。

最新状态:

暂无