lichi2050
本帖最后由 lichi2050 于 2015-4-18 18:04 编辑

嗯好,我们开始吧。 首先大家应该已经知道1.8.4发布了 (这里是1.8.4的帖子)。不过我又要和你们说一大堆的事情了。

首先我和大家说说为什么1.8.4叫做 “security-release” 即 “安全-发布” , 其实在24小时前 一个名为 ammar2 的发布了这个
(等下我会全部介绍),首先说说这位 ammar2,其实他是Bukkit和Spigot的一位开发者。2年前,他在开放时发现了一个巨大的漏洞,可以简单的将一个服务器崩溃。

由于事情的严重度,2013年7月10日他立刻通知了Mojang,希望能尽快修复这个漏洞。当时的稳定版本是1.6.2.可惜Mojang没有给予满意的回复。

ammar2 决定等待看看。
2年后(1.7和1.8大版本都出了后),他终于忍不住了,决定公开这个漏洞,“威胁”Mojang尽快修复。

漏洞介绍:
这个漏洞会直接让服务器的CPU和内存到最高值(根据情况而言),直到让服务器崩溃。原理就是Minecraft多人是一款传输数据的游戏,比如说你登录服务器的时候,服务器会把你背包内容的数据传输到你的客户端内。
Minecraft的物品生成所谓的 metadata 数据,这些会影响物品的自定义信息,这些信息都是NBT格式,和JSON差不多(这样懂的人应该多点了吧)。
给个例子吧:(一本书的NBT数据)
  1. tag: {
  2.     author: "ammar2",
  3.     title: "猫",
  4.     pages: ["猫好可爱", "我喜欢猫"]
  5. }
复制代码



这个漏洞就是采用了这个传输系统,玩家的客户端内可以简单的创造一些简单的NBT数据(数量多+生成快),可是到了服务器那里可就难咯,因为服务器要记住的数据太多了 (而且都是垃圾数据)。


ammar2选择弄一个List数据带5层的子数据(不知道为什么粘贴代码后会乱码,所以我只好载图了,你们可以去原帖复制 )(不乱了 YEAH!!)
  1. rekt: {
  2.     list: [
  3.         list: [
  4.             list: [
  5.                 list: [
  6.                     list: [
  7.                         list: [
  8.                         ]
  9.                         list: [
  10.                         ]
  11.                         list: [
  12.                         ]
  13.                         list: [
  14.                         ]
  15.                         ...
  16.                     ]
  17.                     ...
  18.                 ]
  19.                 ...
  20.             ]
  21.             ...
  22.         ]
  23.         ...
  24.     ]
  25.     ...
  26. }
复制代码


总共有300个表列(list),每一个list拥有10个子list数据,也就是说 10^5 * 300 = 30,000,000
总共30,000,000的数据。但这不是最重要的,这些数据大概是26.6Mb大小,但是在传输的时候,数据会被压缩,大概变成39Kb,但是服务器收到数据时会解压输入,那么数据就会重新变成26.6Mb了,你想象一下服务器的CPU和内存吧。。

这个漏洞存在在Minecraft所有的版本(旧版本-1.8.3)
ammar2建议2种方式来防御这个漏洞


ammar2用Python软件创造了一个代码,你只需要玩家的帐号和密码,登录服务器后就可以启动漏洞。
代码在此:https://github.com/ammaraskar/pyCraft/tree/nbt_exploit

ammar2发布这个代码前也是深思熟虑后才公开的。毕竟他也不想这样毁了许多服务器和玩家,但是一直这样下去也不是办法,毕竟这个BUG大概也有其他人发现了吧。而且Mojang过了这么久都没修复,他认为Mojang已经不是当初的小公司了,现在Mojang的身价已经非常高了,所以这种严重的漏洞必须而且尽快被修复。


Mojang当然也非常快就发表了他的说法
他们说这个漏洞本来已经被修复了,可是在重写部分Minecraft数据时不知道怎么回来了。(0.0)
Dinnerbone说ammar2没有使用正确的程序来通知Mojang(他好像是和Grum邮件反馈的)。
Dinnerbone说是ammar2的错误。


同时Mojang直接来个紧急会议,希望在最短的时间内发布1.8.4(还真在24小时内发布了。厉害)。
所以1.8.4的更新才会叫做“security-release”。

嗯。










星E君
  1. rekt: {
  2.     list: [
  3.         list: [
  4.             list: [
  5.                 list: [
  6.                     list: [
  7.                         list: [
  8.                         ]
  9.                         list: [
  10.                         ]
  11.                         list: [
  12.                         ]
  13.                         list: [
  14.                         ]
  15.                         ...
  16.                     ]
  17.                     ...
  18.                 ]
  19.                 ...
  20.             ]
  21.             ...
  22.         ]
  23.         ...
  24.     ]
  25.     ...
  26. }
复制代码


我怎么没乱码呢。。

zhangcl
虽然说不懂程序 但是 这个是在说 这个bug对 这个版本一下的 服务器 都有用???

a8105
新的攻击手段...
不知道熊孩子和正义的大触哪个先弄出来攻击/防御手段...

lichi2050

不知道啊。。。呜呜 (我再试试)

天端服务器
太高端看不懂期待(☆▽☆)1.9

练习册
这种人就是一些比较好的_(:з」∠)_
誰让他们不看邮箱

Niayou
810587921 发表于 2015-4-18 03:25
新的攻击手段...
不知道熊孩子和正义的大触哪个先弄出来攻击/防御手段...

熊孩子看到这个帖子可能也看不懂



熊孩子:啥啥啥,他写的都是啥

lanyusuixin
Dinnerbone说ammar2没有使用正确的程序来通知Mojang(他好像是和Grum邮件反馈的)。
Dinnerbone说是ammar2的错误。
我看到这个就笑了,前面已经有回复说在修复了,结果到头来还是重新出现bug,而且过错在提交bug的人的身上……

sky_Xiao_Pang
我勒个去 mojang好拖......这么大的bug 虽然对mojang公司没什么太大威胁 但是对多人游戏有威胁.....【他们不要命了】{因为有官方服务器啦}

rtrty
真是一个大的漏洞,到现在我还不知道呢。还好之前我没开服务器,就怕这个bug呀!

bffd
这锅推的.....话说国内很多服都会遭殃吧,毕竟很少有能更新到1.8.4的

Plasmon222
熊孩子肯定看不懂,因为我这个不是熊孩子的都看不懂

墨黎莫离
希望所有人都看不懂,希望所有人都看不懂。因为很重要所以说两遍(尤其是熊孩子)

筱帥
我直接把183的端换成184不会有问题吧

七舅姥爷
这么说,1.8.4以下的服务器岂不是很危险?

苏黎世°
1.8.4正式版本出来了?

rongqaq
真是好笑 明显是他们那的错 还说是玩家的错 这位玩家要不是发现而且告诉了他们这个大BUG 而且还坚持了这么久 就不奖励而是告诉他没有使用正确的程序来通知Mojang!?这样谁还会告诉他们什么BUG?

lqx123
那个..第5行的“他在开放时”是不是应该改为“他在开发时”?

leaf_complex
那1.8.4以前的服务器是不是得遭殃了
完了。。。希望赶快出修复插件

GURU_HURU
现在我们可以去毁灭服务器了666666 ←^_^→

Feb26_1994
ammar2/Dinnerbone"这个锅我不背 都是你的错"

可口可乐dseg
我现在有了一种去黑人家服务器的感觉。。。。。。

shenmadetoufa
=。= 估计会有修复包吧.

北极喧嚣丶
你们的世界我不懂

哈鱼
熊服最新方法,虽然我看不懂╮(╯▽╰)╭

officeyutong
刚试了下 只对正版或没登陆插件的服有用
这个python程序会和你要正版账号和密码 然后登陆上去后进去服务器
如果是正版服的话目测进去直接崩 但是盗版服的话 登陆插件在登陆前不接受一切数据的

250=mo
为什么看这类新闻我会觉得很“刺激”……

。—。
officeyutong 发表于 2015-4-18 13:59
刚试了下 只对正版或没登陆插件的服有用
这个python程序会和你要正版账号和密码 然后登陆上去后进去服务器
...

难道要把demo写成客户端插件让大家去随意破坏吗...{:10_493:}

840196733mw
bffd 发表于 2015-4-18 08:12
这锅推的.....话说国内很多服都会遭殃吧,毕竟很少有能更新到1.8.4的

我也认为很有可能啊,1.8除非用插件,不然op随便一条指令就可以让服务器读档了,不过1.8.4以下的可能会有插件或者别的方式修补吧

🍞bread
于是部分技术熊就开始黑以前版本的服务器

pacerrecap
好顶赞233333
另外Mo是Mb的法语式写法,法语中的byte叫做octet,所以是o。建议改成Mb防止大家看不懂。

第一页 上一页 下一页 最后一页