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

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

缺陷编号:wooyun-2013-018134

漏洞标题:多玩英雄联盟盒子可绑定任意lol角色

相关厂商:广州多玩

漏洞作者: NiceWorm

提交时间:2013-01-30 20:41

修复时间:2013-03-16 20:42

公开时间:2013-03-16 20:42

漏洞类型:非授权访问/认证绕过

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-01-30: 细节已通知厂商并且等待厂商处理中
2013-02-01: 厂商已经确认,细节仅向厂商公开
2013-02-04: 细节向第三方安全合作伙伴开放
2013-03-28: 细节向核心白帽子及相关领域专家公开
2013-04-07: 细节向普通白帽子公开
2013-04-17: 细节向实习白帽子公开
2013-03-16: 细节向公众公开

简要描述:

多玩英雄联盟盒子可绑定任意lol角色,可选择被绑定的YY号是多少以及可绑定任意数量lol角色,可强行绑定已经绑定过的角色.

详细说明:

说下简单思路.大神勿喷.
最近打lol,突然发现多玩盒子可以绑定对应的lol角色在YY上显示,于是想有没有办法绑定其他战力高的大神角色,于是开始尝试.
开始先点击绑定然后抓包,看发包,发现是经过加密后的数据.

POST /api_bind_yy_new.php HTTP/1.1
User-Agent: YYBind
Host: lolbox.duowan.com
Accept: */*
Content-Length: 190
Content-Type: application/x-www-form-urlencoded
str=1DF92E294BACA9AAD628AB2D28AB13AFA92E344E2B484F2E48972EA928D050314EAD2CC9E11709EFF6EE576E2F71EFEEF708562F2F6FC991904EEFE4EF9017369028A74E98F6498968E8284828282969496889099144AF8865C78D4453POST /api_bind_yy_new.php HTTP/1.1


于是拖进OD分析,
分析得到的程序绑定流程如下:
1。LOLBox.exe先读取Tool.ini里面存的角色数据(登陆过游戏的都有保存在里面)

QQ截图20130130200700.jpg


2。通过程序解码拼接字符串后,得到需要发送的内容

22.jpg


{"角色名":{"global":{"sn":"服务器名字","pn":"角色名","lat":"1359469539","level":14,"icon":26,"good":"18","blocked":"4","honor":"1","save_hero_100":"0","cache":1},"normal":{"sn":"服务器等名字","pn":"角色名","clat":"1359469539","olat":"0","w":19,"lo":11,"le":0,"o_w":"0","o_lo":"0","o_le":"0","cache":1},"zdl":{"eloScore":1549,"winRatioScore":879,"winBattleScore":52,"totalScore":2480,"originalWinRatio":63.33,"elo":"0","winRatio":63.33,"wins":19,"updatedTime":1359469540,"cache":1},"mostUsedHeros":{"Lux":10,"Veigar":4,"FiddleSticks":4,"Twitch":3,"Ashe":2}}} e":2}}}


看代码大概就明白了.我们只需要更改具体的角色名和服务器名字就可以达到绑定其他角色的目的了,其中服务器名字和角色名字如果是中文的话需要转码例如:\u7535\u4fe1\u5341\u56db
3。程序会把上面的字符串进行加密处理.加密成以下格式:

2E294BACA9AAD6AB2D28AB13AFA92E344E484F2E48972EA928D050314EAD2CC9E11709EFF6EE576E1EFEEF72F2F6FC991904EEFE4EF90173698A74E98F6498968E8284828282969496889099144AF8865C78D


然后创建进程,参数为:

x:\LOLBox\YYBind.exe "YYBind" "上面的加密字串"


4.然后YYBind.exe运行,我们可以看到我们修改后的角色信息,然后点绑定,如果角色被别人绑定过,这里会提示绑定已经被绑定,通过修改某个跳转绕过.这样我们就绑定成功了.
后记,曾经微博问了下作者,他说这个不算BUG算破解..好吧.我承认也许这个没什么大危害,
但是用户量多大的,再加上我也经常用,也希望产品能越做越好
大概就这样吧.
后来尝试吧角色名字改为<img></img>或者xss语句,发现能解析,但是在YY里面不能弹窗,其他的未仔细测试.
其实我觉得危害主要在于可能造成XSS存储,和可以批量绑定lol角色,要是把所有lol玩家角色全部绑定到一个YY上..别人盒子上会显示对应的YY号.

9.jpg


如果把YY号改为XSS语句会怎么样.未测试,因为貌似解除绑定要复杂点.

漏洞证明:

2.jpg


7.jpg


5.jpg

修复方案:

。.你们比我懂.
建议有些验证或者判断放在服务器端

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:4

确认时间:2013-02-01 14:20

厂商回复:

处理中,谢谢提供。

最新状态:

暂无