494308843
本帖最后由 494308843 于 2014-8-3 19:38 编辑

MC的通讯协议的安全实在是让人大跌眼界
(攻击程序和源码不会放出!以防小学生危害MC,各位大大自行看理论)效果图

随机生成的6位玩家号   (没多久服务器崩了)
身为一只腐竹  当然要以服务器的安全优先


很多腐竹几乎纯粹是为了收赞助而开服


很少在乎安全方面的问题  比如 OP满地是  创造满天飞  一堆不合理的配置


但是我不是讲如何配置服务器的


我说我这几天的一个发现


大家可知道MCCHAT这款手机软件

它能做什么?

连接到电脑服务器 进行聊天

但是呢  我进行流量监控的时候


发现会接收每秒100KB的数据大概

然后几秒后就稳定了

我估计的是服务器在确认玩家加入服务器后发送的区块数据

那么  如果知道MC的通讯协议意味着什么

MC专项攻击器非常容易完成

本人不推荐MC1.7.2服务器

因为 我测试发现  根本没什么加密

第一个无非就是含有本地连接服务器的连接地址(估计是跟服务器配置文件的IP对应  不对应就拒绝)

第二个就是含有玩家名的数据包  用一定的规则来生成的(我太笨了  看了几个小时才发现是根据长度)

于是  昨天我做了一个小程序(- -易语言  勿喷)

我测试的结果是什么

启动了几十个TCP客户  连接服务器  连接成功就发送预定的第一个封包(服务器IP设置为0应该通用)

第二个封包按成一定的规则生成

发生了什么?

服务器被刷屏了  N个随机玩家名的玩家上线 下线

然后呢

一分钟不到


一个可以带50人的服务器  挂了?

什么效果  完全是服务器崩了一样  标语插件都不能用了 只显示配置文件设置的内容

后台崩了

我是菜鸟

有什么方法可以防范?
可以通过设置防火墙规则屏蔽

比如  模拟N个玩家上线  需要频繁的连接

可以设置规则屏蔽IP

而且游戏服务端可设置连接间隔

(41楼指出可以限制单IP短时间内过快连接)
(我玩服务器的时候遇见过提示什么加入过快 不过我是刚启动游戏 之前没连接 也可能是所有玩家加入的间隔)
(不过不失为一种有效的方法  即使熊孩子可以模拟出  也能降低服务器内存和宽带的损耗)
但是!在屏蔽之前  攻击效果是实际已经发生了

因为服务器不可能知道这个IP的连接是有问题的

而且大部分辅助都对游戏端口设置了允许所有

屏蔽了其他端口

而且!及时设置了极为苛刻的规则

如!同时只允许一个连接

也是无法防御这种攻击

我刚才说的是单计算机进行攻击

如果有僵尸网络呢?

及时限制了同时连接数最多为1

几十台肉鸡  的流量吞噬还是很可观的

近十倍+

这意味着什么

如果你有一台百兆共享的服务器

模拟100个玩家+就可以吞掉服务器宽带

导致服务器网络卡顿  玩家掉线

而大部分防火墙都是在几十次频繁连接后进行屏蔽
但是这样我就想起来我之前试验的
当时我是想截取刷新多人游戏列表时发送的封包
可以返回1400多字节的数据包(好像是几个数据包 被分成了几块)
只需要发送20字节就可以达到效果(测试的1.7.2)
但是这种效果太低  而且会被防火墙屏蔽
针对主要说明的那个攻击方法 建议配合防火墙和服务器连接间隔设置

对于这种攻击方法  没有切实的防御方法   这不是漏洞  可以说是安全缺陷
我是菜鸟渣渣一个

欢迎吐槽

本帖中的方法是确实存在和可行的

MC服务器天大的缺陷  吞掉服务器大量的内存和宽带  不蹦服也网络耗尽

这种攻击会最大化流量(什么? 这是最大化利用客户端的宽带  完全跟下载文件一样的最大宽带利用)

{:10_512:}  求点人气   不会排版  各位如果有什么好的防御方法  请告诉大家

不会排版  凑合看吧

我是ESP{:10_564:}

(怎么添加可以展开的内容项啊  我不会排版。。。)



Saya_
好吧 楼主的话好长  看不懂耶

Saya_
好吧 楼主的话好长  看不懂耶

leavessoft
昨天我的服务器也悲哀了。。

yuchenyang
虽然看不懂,但总觉得lz好厉害= =

逍遥jin
求楼主别回车=。=顺便带图=。=

494308843
逍遥jin 发表于 2014-8-3 08:39
求楼主别回车=。=顺便带图=。=

补图了...

494308843
yuchenyang 发表于 2014-8-3 08:38
虽然看不懂,但总觉得lz好厉害= =

我菜鸟而已- -
2个封包。。。。

第二个封包太简单了。。。我居然花了几个小时

逍遥jin

我怎么木有看见QAQ

494308843
逍遥jin 发表于 2014-8-3 08:41
我怎么木有看见QAQ

刷新  。。。。。。。。。。

逍遥jin
494308843 发表于 2014-8-3 08:42
刷新  。。。。。。。。。。

= =好吧,我是不是没救了

渡邉みなみ
好长啊,言之有理

494308843
xcc 发表于 2014-8-3 08:45
好长啊,言之有理

语文差。。。凑合看

494308843
leavessoft 发表于 2014-8-3 08:36
昨天我的服务器也悲哀了。。

????????什么

eyz1993
你说的不就是普通的ddos攻击?防火墙规则,负载均衡这些都能有效防护ddos。

494308843
eyz1993 发表于 2014-8-3 08:49
你说的不就是普通的ddos攻击?防火墙规则,负载均衡这些都能有效防护ddos。

不是DDOS
ddos是洪水攻击
这种方法是利用通讯协议  让服务器对外发包

最大化攻击方流量  也就是说  你下行有多少  几乎就能达到多少

而且- -  模拟玩家  我试了  防火墙鸡肋了

服务器直接崩了

服务器内被刷屏
一直显示玩家上线下线  欢迎新玩家
几分钟就崩了

494308843
eyz1993 发表于 2014-8-3 08:49
你说的不就是普通的ddos攻击?防火墙规则,负载均衡这些都能有效防护ddos。

而且  DDOS是群集攻击

这个方法危害太大

是利用服务器通讯协议!!!!

不是纯粹的堵塞服务器网络那么简单

而且  一个玩家在服务器会消耗几十兆内存

小服承受不了多少连接就会挂掉

恐怖!

即使是大服

几台电脑就能模拟几百连接

也承受不了!

eyz1993
494308843 发表于 2014-8-3 08:50
不是DDOS
ddos是洪水攻击
这种方法是利用通讯协议  让服务器对外发包

普通的ddos是攻击tcpip协议本身,你这是从应用层攻击,确实有新意。但是,我读完你的文章发现其基本特征与ddos非常相似,都是短时间建立与取消大量连接迫使服务器忙于处理新连接。Windows防火墙我不清楚,linux防火墙通过设置连接速率和频率能有效防范这种攻击。

494308843
eyz1993 发表于 2014-8-3 08:56
普通的ddos是攻击tcpip协议本身,你这是从应用层攻击,确实有新意。但是,我读完你的文章发现其基本特征 ...

不是那种常见的纯粹是流量攻击
那种需要用比服务器更大的网络才能得到攻击效果

而这种  就是四两拨千斤了

eyz1993
494308843 发表于 2014-8-3 09:00
不是那种常见的纯粹是流量攻击
那种需要用比服务器更大的网络才能得到攻击效果


我笑了,ddos移动到应用层,你就分析不出其本质了?

fyxridd
可以试试连接->bungeecord->服务器,看看bungeecord有没做出什么限制

eyz1993
fyxridd 发表于 2014-8-3 09:09
可以试试连接->bungeecord->服务器,看看bungeecord有没做出什么限制

有的,bungeecord不允许同ip短时间反复连接。

494308843
eyz1993 发表于 2014-8-3 09:04
我笑了,ddos移动到应用层,你就分析不出其本质了?

{:10_514:}
好吧  没研究过

不过这种攻击太难防了

hh9130045
LZ大触。顶起!虽然不明觉厉啊,

494308843
fyxridd 发表于 2014-8-3 09:09
可以试试连接->bungeecord->服务器,看看bungeecord有没做出什么限制

没空测试

我测试1.6.2  因为是加密的

放弃了  如果我有生成的对应的数据包的源码
就可以测试了

可惜还不会java

799371437
那TM不是崩了 是我关服了小**- -
儿子

494308843
799371437 发表于 2014-8-3 11:46
那TM不是崩了 是我关服了小**- -
儿子

- -半夜  1分钟  崩了

睡觉忘了关
到白天还没开

799371437
我再说一次 后台 没 崩!就是我关服了而已

799371437
你没看到co插件的保存数据么 那是关服前的提示

799371437
caominjia168 发表于 2014-8-3 08:33
好吧 楼主的话好长  看不懂耶

前排说一下 - -esp 那不是我的服务器崩了 那是我看你在那刷屏我在后台/stop.......然后你又来 就是卡了一下小下而已 不过你还是没有说怎么解决

799371437
494308843 发表于 2014-8-3 11:47
- -半夜  1分钟  崩了

睡觉忘了关

你作死

799371437
494308843 发表于 2014-8-3 11:47
- -半夜  1分钟  崩了

睡觉忘了关

我那叫骂你么= =那明个你爸管你叫哥们?

494308843
799371437 发表于 2014-8-3 11:55
我那叫骂你么= =那明个你爸管你叫哥们?

去死- -

继续作死

继续

799371437
494308843 发表于 2014-8-3 11:56
去死- -

继续作死

- -你要再弄我就跪这不起来了

494308843
799371437 发表于 2014-8-3 11:57
- -你要再弄我就跪这不起来了

- -还喊不= =

799371437

不喊了

799371437

好歹我也帮你过几次

494308843
799371437 发表于 2014-8-3 11:50
你没看到co插件的保存数据么 那是关服前的提示

进服看了 防火墙鸡肋了
服务器卡顿
所有玩家均无法动

xhbg888
你们终于研究出对MC的CC攻击了= =

Qin_yu
果然只对菜鸟有用   

xhbg888
其实水桶可以限制单IP的连接时间

xhbg888
其实水桶可以限制单IP的连接时间

Knight_LR
还有这贴~

lzjluzijie
高防ddos

494308843
xhbg888 发表于 2014-8-3 13:35
其实水桶可以限制单IP的连接时间

在僵尸网络面前还是。。鸡肋
不过确实是个好办法
熊孩子没办法用自己的电脑进行高频率的攻击

不过  在 群组服上好像不适用

xhbg888
494308843 发表于 2014-8-3 13:49
在僵尸网络面前还是。。鸡肋
不过确实是个好办法
熊孩子没办法用自己的电脑进行高频率的攻击

限制单IP的下载速度
有些登录插件可以设置/login以后才显示登录信息
实在不行就白名单

494308843

应用层方面的
防火墙没什么用

因为没法区分和正常连接的区别
在游戏服务器看来  这些就是正常的上线

只能用规则屏蔽ip

虽然会被攻击一会  但是是最好的方法了。。。{:10_527:}

banIP也可以 不过后台会刷一堆玩家上线信息
banIP后攻击不会对服务器照成太大影响  只是后台被刷 如果换IP因为随机玩家名模拟连接
banIP就起不到作用了  推荐防火墙规则(虽然我不会A.A)


lzjluzijie
494308843 发表于 2014-8-3 13:58
应用层方面的
防火墙没什么用

可以的


494308843
xhbg888 发表于 2014-8-3 13:51
限制单IP的下载速度
有些登录插件可以设置/login以后才显示登录信息
实在不行就白名单 ...

我是模拟连接

你说的/login是登陆服务器

那是进入游戏后提示的

在此之前  攻击目的已经达到了
因为目的不是去登陆 而是模拟玩家上线
占用大量的内存和宽带   影响服务器正常运行
而不是模拟玩家去登陆服务器  移动什么的
对于白名单  可以收集在白名单的玩家名字  然后进行模拟上线
{:10_499:}

494308843

{:10_522:}
在一群玩家和模拟连接中间
如何判断哪个是模拟的。。。
我只知道  前面的数据包都是一样的  然后服务器就会等待我发登陆插件登陆指令
然后没登陆   超时了就掉线了
如果判断是否只发送了前2个数据包  然后不发送了  就判断为模拟的
(我不懂防火墙)
那样还不是达到了攻击目的
因为游戏服务端已经接到了数据包啊  认为是正常的玩家上线
而且 即使开启防火墙  可能用这种规矩屏蔽ip的话
容易误判  而且 会消耗很多资源

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