漏洞概要
关注数(24)
关注此漏洞
漏洞标题:腾讯3366小游戏站算法被破解
相关厂商:腾讯
提交时间:2012-02-14 04:04
修复时间:2012-03-30 04:05
公开时间:2012-03-30 04:05
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2012-02-14: 细节已通知厂商并且等待厂商处理中
2012-02-14: 厂商已经确认,细节仅向厂商公开
2012-02-24: 细节向核心白帽子及相关领域专家公开
2012-03-05: 细节向普通白帽子公开
2012-03-15: 细节向实习白帽子公开
2012-03-30: 细节向公众公开
简要描述:
对于这样一个网站来说.积分算法被破解.就等于可以随意修改自己的分数.严重程度可想而知.
详细说明:
某日和我家程序员一起出差去做一个项目.然后夜里俩人打赌,谁先破解出来3366的算法,输的人第二天就要请胜利者足疗.于是乎便有了下面的故事.最终的结果是我家伟大的程序员取得了整场比赛的胜利!恭喜她,她就是verkey!!!!!
好,下面我来分析下整个算法的破解过程.
我在3366.com上选取了一款玩的人最多的积分游戏.
名字叫做彩色砖块,由于我水平太差,第一盘只得了31分,如下图
1.对上图数据抓包得到以下内容
qzversion=0&platform=1&key=bgvbapy1c89f901d0cdf89334b994e429c0100992e3b90692abe6fadd&submit=true&uin=2443199410&score=31&act=set&pid=1000132
可以看到分数为31分,key值为bgvbapy1c89f901d0cdf89334b994e429c0100992e3b90692abe6fadd
2.去掉这个key值的后48位
得到bgvbapy1c
3、剩余key值的第一位:
如果是a,则从第2位开始计算。
如果是b,则从第3位开始计算。
....依次类推。
对应如下:
a-2
b-3
c-4
d-5
e-6
f-7
.....
该key的第一位为b,所以从第3位开始计算,第3位为v.
3、计算剩余key的长度,按照如下对应关系,取有效计算范围。
如剩余key值长度为9,那么取1位计算。
如剩余key值长度为10,那么取2位计算。
如剩余key值长度为11,那么取3位计算。
如剩余key值长度为12,那么取4位计算。
.....
剩余的key值的长度为9,那么从第3位"v"开始,取1位,即"v"。
4、计算"v"的值,怎么计算呢?
其实分数的算法为36进制,0-9,a-z等36个数字字符构成如下对应关系:
0-0
1-1
2-2
3-3
4-4
5-5
6-6
7-7
8-8
9-9
a-10
b-11
c-12
d-13
e-14
f-15
g-16
h-17
i-18
j-19
k-20
l-21
m-22
n-23
o-24
p-25
q-26
r-27
s-28
t-29
u-30
v-31
w-32
x-33
y-34
z-35
.....
从z之后,再往下推,可得到:
10 36
11 37
12 38
13 39
14 40
15 41
16 42
17 43
18 44
19 45
1a 46
1b 47
1c 48
1d 49
1e 50
1f 51
1g 52
1h 53
1i 54
1j 55
1k 56
1l 57
1m 58
1n 59
1o 60
1p 61
1q 62
1r 63
1s 64
1t 65
1u 66
1v 67
1w 68
1x 69
1y 70
1z 71
由上得知v等于31
那么更大一点的数字呢?
比如说"1a"这样的值呢?
这样推导太麻烦,怎么用公式进行计算呢?
其实很简单,看如下示例:
1a=1*36+a=36+10=46
再看几个例子相信你就会推导了:
9位长度的key:
ad5x7lsyb 1d79f349cc25551adff77cbdf5768509acf99812b656119c
计算:d=13
c1imrwe0d 36443325bec5f7f4f1b0b56b04804bee90f25ecf931c2c08
计算:m=22
10位长度的key:
a3dfcfdqvc 36443325bec5f7f4f1b0b56b04804bee90f25ecf931c2c08
计算:3d=3*36+d=108+13=121
b53h20htmd c829da8e21bc82ea9b964a6094bb7d92f9f7f50aa04e5fc7
计算:3h=3*36+h=108+17=125
11位长度的key:
b38p4nvtb6e eec693296a4a49131ed70461f5e354f2018f6cf5ccb8957e
计算:8p4=((8*36)+p)*36+4=313*36+4=11272
a9662iq0u4d eec693296a4a49131ed70461f5e354f2018f6cf5ccb8957e
计算:966=((9*36)+6)*36+6=(324+6)*36+6=11880+6=11886
依次类推。。。。
截断.修改数据包就可以改你的游戏分数了.
但是貌似key的长度不能变.
破解算法无恶意,只做研究.发出来大家学习下.
另外确实想要几只腾讯的新版公仔了...之前送的那只被领导收留了...
漏洞证明:
http://www.3366.com/game/1000190.shtml
弹粉笔
欢迎挑战
修复方案:
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2012-02-14 21:12
厂商回复:
thx
最新状态:
暂无
漏洞评价:
评论
-
2012-02-14 04:07 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
看样子3366.com应该停业整顿一天了..我错了...
-
2012-02-14 04:10 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
-
2012-02-14 09:07 |
128bit ( 实习白帽子 | Rank:74 漏洞数:7 | May the SHELL be with you)
-
2012-02-14 10:48 |
livers ( 实习白帽子 | Rank:94 漏洞数:6 | mov esp,0jmp espcrash.....)
-
2012-02-14 10:54 |
shine ( 普通白帽子 | Rank:831 漏洞数:77 | coder)
-
2012-02-14 11:09 |
zeracker ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)
-
2012-02-14 12:40 |
horseluke ( 普通白帽子 | Rank:116 漏洞数:18 | Realize the dream in earnest.)
@only_guest 你害得多少程序员没法陪伴女友过节日,恐怕要造出多少杯具,罪过罪过...
-
2012-02-14 12:59 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
让你们鲜花...让你们红酒...让你们烛光...!!!!!
-
2012-02-14 15:09 |
TwoSpring ( 路人 | Rank:8 漏洞数:1 | 游走于道德与随性之间……)
-
2012-02-14 16:41 |
popok ( 普通白帽子 | Rank:117 漏洞数:24 | nothing)
-
2012-02-14 21:48 |
Valo洛洛 ( 普通白帽子 | Rank:458 漏洞数:52 | 。)
-
2012-03-30 09:04 |
Xhm1n9 ( 实习白帽子 | Rank:57 漏洞数:13 | bug)
-
2012-03-30 11:31 |
livers ( 实习白帽子 | Rank:94 漏洞数:6 | mov esp,0jmp espcrash.....)
-
2012-03-30 13:07 |
gainover ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)
= = 我觉得,这个只要把FLASH反编一下, 里面就有算法了吧?。为什么还要自己推。
-
2012-03-30 13:13 |
Xhm1n9 ( 实习白帽子 | Rank:57 漏洞数:13 | bug)
-
2012-03-30 13:14 |
Xhm1n9 ( 实习白帽子 | Rank:57 漏洞数:13 | bug)
不会是像gainover说的FLASH反编一下吧?
-
2012-03-30 13:22 |
gainover ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)
这种FLASH小游戏提交积分, 被破解本身就是不可避免的,加密算法肯定是在FLASH源码里有的。 如果FLASH的源码能够得到很好的保护,让其它人无法看到其中的加密算法,才有可能减轻这种现状么,否则,算法怎么换都没用。不过楼主这种都能逆推,挺牛X..
-
2012-03-30 14:29 |
笨猪 ( 实习白帽子 | Rank:56 漏洞数:13 | Jarett|最近忙,洞发得少。。)
-
2012-03-30 15:09 |
popok ( 普通白帽子 | Rank:117 漏洞数:24 | nothing)
-
2012-03-30 15:25 |
xsser ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)
-
2012-03-30 15:51 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
@xsser 膜拜吧....呵呵程序猿!白帽子!只要敢想!没什么不可能的!
-
2012-03-30 17:33 |
popok ( 普通白帽子 | Rank:117 漏洞数:24 | nothing)
@xsser @only_guest 看来这想象能力可以达到异想天开的级别了,受小弟一拜!
-
2012-03-30 18:18 |
zeracker ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)
-
2012-03-30 18:43 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
@zeracker 肿么了.这是要刷rank么?嘿嘿.最近想发些有意思的东西.
-
2012-03-30 18:54 |
zeracker ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)
@only_guest 继续围观。哈哈,发神马有意思的东西
-
2012-03-30 21:42 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
-
2012-03-30 21:53 |
zeracker ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)
@only_guest O(∩_∩)O哈哈~。坐等,我要松岛枫的娃娃,
-
2012-03-30 22:29 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
-
2012-03-30 22:30 |
zeracker ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)
@only_guest 现在要搞就玩大的了。O(∩_∩)O哈哈哈~ 苍井空不务正业,拍MV去了。
-
2012-05-06 20:19 |
taylortai ( 路人 | Rank:0 漏洞数:2 | 三分钟热度)
绝对膜拜啊 @only_guest 你怎么就知道去掉多少位呢
-
2012-05-07 18:58 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
-
2012-11-11 20:17 |
shack2 ( 普通白帽子 | Rank:470 漏洞数:71 | QQ:1341413415 一个热爱编程(Java),热爱网...)
-
2012-12-19 14:54 |
鬼魅羊羔 ( 普通白帽子 | Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)
这帖子我看了4遍了,看一次跪一次,真心牛X了。。。。
-
2013-11-04 11:20 |
大亮 ( 普通白帽子 | Rank:306 漏洞数:65 | 慢慢挖洞)
-
2013-11-06 16:14 |
sysALong ( 路人 | Rank:19 漏洞数:5 | 电脑里的AV片 永远 和 电脑旁的卫生纸 成 ...)
我真心不知道看多少遍了,太牛性了。。。 膜拜。。。
-
2014-06-21 12:42 |
浅兮 ( 实习白帽子 | Rank:70 漏洞数:30 )