漏洞概要
关注数(24)
关注此漏洞
漏洞标题:京东手机节幸运大翻转刷分(flash逆向分析)
提交时间:2013-11-29 10:32
修复时间:2014-01-13 10:33
公开时间:2014-01-13 10:33
漏洞类型:设计缺陷/逻辑错误
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2013-11-29: 细节已通知厂商并且等待厂商处理中
2013-12-02: 厂商已经确认,细节仅向厂商公开
2013-12-12: 细节向核心白帽子及相关领域专家公开
2013-12-22: 细节向普通白帽子公开
2014-01-01: 细节向实习白帽子公开
2014-01-13: 细节向公众公开
简要描述:
京东的手机节有个幸运大翻转,玩游戏排名,每天第一MX2,总分第一诺基亚1520,貌似还是很不错的,但是每次排名的那些人都是990,表示手累断了也拿不到990分。
详细说明:
活动地址:http://sale.jd.com/act/rSR4ExMjOnyGwWmf.html?erpad_source=erpad
游戏的flash地址:http://mday.jd.com/play/fanpai.swf
游戏点击开始的数据包:
游戏结束时的数据包“
结束时的数据包里有我们的得分,直接修改这个参数会被警告,提示非法。
猜测后面的sign是一个合法性验证参数,很明显是32位的MD5 hash
现在刷分的关键就在于如何让我们的这个sign合法,由于这个游戏是swf,而且是本地玩的,那就说明这个sign在swf里有设定,然后服务端去验证这个sign是否合法。
逆一下这个swf后得到源码,搜索到如下sign的定义:
同样的可以得到刚开始玩游戏的sign算法,至此,我们只需伪造分数,然后伪造这个sign,就可以完成刷分了。
漏洞证明:
Python代码:
上面是定点刷,算好秒后,保证在晚上24:00达到最高分,然后去领奖
修复方案:
你们懂的
不过你们发奖品是怎么发的?那么多人都在刷分,怎么排名的,为啥最高都是990,不能是其他的分?我弄了两次发现没我啥事,球解答。
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:6
确认时间:2013-12-02 12:10
厂商回复:
感谢您对京东的关注!
最新状态:
暂无