网站地图    收藏   

主页 > 后端 > 网站安全 >

多玩英雄联盟盒子可绑定任意lol角色 - 网站安全

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

[导读] 多玩英雄联盟盒子可绑定任意lol角色,可选择被绑定的YY号是多少以及可绑定任意数量lol角色,可强行绑定已经绑定过的角色.详细说明:说下简单思路.大神勿喷.最近打lol,突然发现多玩盒子...

多玩英雄联盟盒子可绑定任意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里面存的角色数据(登陆过游戏的都有保存在里面)


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

 


 

{"角色名":{"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号.

 

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

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

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

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

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

添加评论