我是如何登陆某知名主播游戏账号的
From ChaMd5安全团队核心成员 香香
在寒假的时候在我表姐的带领之下我迷上了某某狼人杀。玩着玩着我想实现裸点场上全部人的身份。鸡汁的我就用wireshark抓包,但是并没有实现裸点全场身份。为什么呢?下图做出解释。
因为数据包长这样,分析过后得到已知身份是(0村名;1狼人;2预言家;3女巫;4猎人;5 白痴;6守卫),未知身份是-1表示。很难受。
但是这款分析发现这款app认证的时候,协议走的是http,于是拿出神器。开始分析。首先打开狼人杀,先正常流程走一遍包。
测试发现这里是可以进行越权进行登录的。后面的数据包,依次修改userNo即可。但是这不是重点。
我们发现reponse可以返回包含用户名称(unicode编码)的json。在网上得知著名lol解说JY的名字是“自以为是的XXX”(已打码)。所以这一步的时候,我写了个脚本去跑JY的ID,本以为会跑很久(几百万的用户),可是没想到运气很好(老板是第一批用户,23333)。
然后去越权登录JY的账号装装逼啊!!!
漏洞发现时,已经第一时间反馈给官方客服。
这是给他们反馈另一个洞的截图。前面的私信被我删了 = =。
那么如何防御这一类越权漏洞呢?
对ID进行另一个同密匙的绑定传输,个人认为是最有效的方案。你光知道我的id不行,你还得知道我的密匙。
其次,用户ID传输的时候不要用自加的明文ID,加个密再传ID进行比较啊。