Sunucuları çökerten Minecraft hack clienti ve çözümü!

MrUnioDex

CEO of UnioCraft
Mesajlar
508
En iyi cevaplar
0
Beğeniler
291
Puanları
740
Öncelikle merhaba. 1.7 ve 1.8.3 arasındaki sunucular için büyük bir tehdit oluşturan bir bugdan bahsetmek istiyorum. Minecraft 1.8.4 Güvenlik sürümü yama notlarını okuduysanız şöyle bir şey göreceksiniz:

[Bug MC-79612] – Malicious clients can force a server to go out memory
Çevirisi: Zararlı istemciler sunucunuzun belleğini aşmaya zorlayabilir.

Bug'ın mantığı:
Minecraft protokolleri kullanılarak sunucuya giren bir oyuncu 30 milyon adet boş liste NBT tagi gönderiyor ve böylece sunucunuzun rami ne kadar yüksek olursa olsun tamamını tüketip sunucunuza crash verdiriyor.
Daha detaylı bilgi için buraya göz atın: http://blog.ammaraskar.com/minecraft-vulnerability-advisory/

Zararları:
Sunucunuzu anında çökertir.
Sunucunuzu anında çökerttiği için çözümü olmayan Chunk hataları oluşabilir ve bu hatalar yüzünden dünyanızı sıfırlamak zorunda kalabilirsiniz.
Veri kaybına yol açar. (Para, eşya kaybı.)

Nasıl yapılıyor?:
Bunu burada herkese açık bir şekilde paylaşmak istemem. Hemen hemen tüm türk sunucularını hayati tehlikeye sokabiliriz. Fakat 2 farklı şekilde yapılabilir: Client ve Script. Ben her iki yöntemlede denedim script sadece bukkit sunucuları, client ise tüm Minecraft sunucularını çökertebiliyor.

Çözümü:
1.8.4 Spigot sürümüne geçmek. Bu sürüme geçerek bunun gibi birçok bugdan daha kurtulmuş olursunuz. Fakat ben 1.7 ve 1.8 olarak iki sürümüde kullanmak istiyorum diyorsanız bir NBT okuma limiti oluşturarak sorun çözülebilir. Bu sorun şu anda Türkiye'de sadece 2 sunucuda engelli. Fakat yaptığım çalışmaları Batıhost ve Nitrado ilede paylaştım. Bundan sonra Batıhost ve Nitradodan alacağınız tüm sunucular bu buga karşı bağışıklık kazanmış olacaktır. Çözümü herkese açık bir şekilde paylaşmıyorum çünkü bugun nasıl yapıldığı, güvenlik açıkları gibi bilgiler zararlı kişiler tarafından ele geçirilebilir.
 


Secret_wither

Bedrock Kaşifi
Mesajlar
1,924
En iyi cevaplar
0
Beğeniler
499
Puanları
1,290
Nasıl yapılıyor ipucu pls[DOUBLEPOST=1432389670,1432389120][/DOUBLEPOST]Phyton ile şu kodları yapıştırıpx galiba
 

Secret_wither

Bedrock Kaşifi
Mesajlar
1,924
En iyi cevaplar
0
Beğeniler
499
Puanları
1,290
Denemedi.
1-Phytonu indir.
2-Bu Kodları not defterine yapıştır;
PHP:
tag: {
author: "ammar2",
title: "Kitteh",
pages: ["Kitties are cute", "I like kitties"]
}
rekt: {
list: [
list: [
list: [
list: [
list: [
list: [
]
list: [
]
list: [
]
list: [
]
...
]
...
]
...
]
...
]
...
]
...
}
Darklı kaydtten start.php de sonra servere gir ve onu çalıştır ole bişi
 

Vienicome

Hayalet Avcısı
Mesajlar
2,646
En iyi cevaplar
0
Beğeniler
5,172
Puanları
6,640
Denemedi.
1-Phytonu indir.
2-Bu Kodları not defterine yapıştır;
PHP:
tag: {
author: "ammar2",
title: "Kitteh",
pages: ["Kitties are cute", "I like kitties"]
}
rekt: {
list: [
list: [
list: [
list: [
list: [
list: [
]
list: [
]
list: [
]
list: [
]
...
]
...
]
...
]
...
]
...
]
...
}
Darklı kaydtten start.php de sonra servere gir ve onu çalıştır ole bişi
Yav bilmeden savurtmayın bir tarafınızdan :(
O sadece sitedeki NBT tagı örneği :(
NBT sizin minecraftta envanter bilgilerinizi gönderebileceğiniz bir icat normalde zararsız fakat alt dallara ayrılınca boyut çok fazla artıyor :(
Ki oda şöyle
rekt diye bir objemiz var içinde 300 liste tutuyor, o 300 listede kendi altında bir 10 liste tutuyor öyle öyle gidiyor, tabi bu matematiğe dönüşünce 30 milyon gibi büyük rakamlar çıkıyor :(
O paket 27MB tutarken zlib paketi sıkıştırarak 39KB yapabiliyor :(
Yani 1mbps up hızı olan birisi sadece 1 saniyede sunucuyu anında öldürebilir :(
Bu paket client için oluştur ve gönder aşamalarından ibaret ama sunucu her listeyi işlemek zorunda kaldığından paketi alır almaz çok hızlı bir cpu ve ram artışı oluyor :(
 

Sarper170

Obsidyen Madencisi
Mesajlar
1,273
En iyi cevaplar
0
Beğeniler
569
Puanları
0
Yav bilmeden savurtmayın bir tarafınızdan :(
O sadece sitedeki NBT tagı örneği :(
NBT sizin minecraftta envanter bilgilerinizi gönderebileceğiniz bir icat normalde zararsız fakat alt dallara ayrılınca boyut çok fazla artıyor :(
Ki oda şöyle
rekt diye bir objemiz var içinde 300 liste tutuyor, o 300 listede kendi altında bir 10 liste tutuyor öyle öyle gidiyor, tabi bu matematiğe dönüşünce 30 milyon gibi büyük rakamlar çıkıyor :(
O paket 27MB tutarken zlib paketi sıkıştırarak 39KB yapabiliyor :(
Yani 1mbps up hızı olan birisi sadece 1 saniyede sunucuyu anında öldürebilir :(
Bu paket client için oluştur ve gönder aşamalarından ibaret ama sunucu her listeyi işlemek zorunda kaldığından paketi alır almaz çok hızlı bir cpu ve ram artışı oluyor :(
Sanırsam bu mesajı yazarken oldukça üzgündün :/. (Tam 7 tane üzgün surat koymuşsun?) Neyse, en azından iyi bilgi vermişsin...
 

Salturbone

Portal Uzmanı
Mesajlar
5,189
En iyi cevaplar
0
Beğeniler
3,716
Puanları
6,890
Ruh hali
Yav bilmeden savurtmayın bir tarafınızdan :(
O sadece sitedeki NBT tagı örneği :(
NBT sizin minecraftta envanter bilgilerinizi gönderebileceğiniz bir icat normalde zararsız fakat alt dallara ayrılınca boyut çok fazla artıyor :(
Ki oda şöyle
rekt diye bir objemiz var içinde 300 liste tutuyor, o 300 listede kendi altında bir 10 liste tutuyor öyle öyle gidiyor, tabi bu matematiğe dönüşünce 30 milyon gibi büyük rakamlar çıkıyor :(
O paket 27MB tutarken zlib paketi sıkıştırarak 39KB yapabiliyor :(
Yani 1mbps up hızı olan birisi sadece 1 saniyede sunucuyu anında öldürebilir :(
Bu paket client için oluştur ve gönder aşamalarından ibaret ama sunucu her listeyi işlemek zorunda kaldığından paketi alır almaz çok hızlı bir cpu ve ram artışı oluyor :(
Nasil yapacagimizi da anlatsaydin lutfen :(
 

Sarper170

Obsidyen Madencisi
Mesajlar
1,273
En iyi cevaplar
0
Beğeniler
569
Puanları
0
Arkadaşlar SANIRSAM herkes bir sunucu falan çökertmek istiyor. Niye herkes soruyor bu kodu?
 

Vienicome

Hayalet Avcısı
Mesajlar
2,646
En iyi cevaplar
0
Beğeniler
5,172
Puanları
6,640
Nasil yapacagimizi da anlatsaydin lutfen :(
Burada C, buradada Java için libi mevcut :(
Tek yapacağınz listeyi hazırlayıp sunucuya göndermek :(
Diğer diller içinde mevcut ama sunucu sahipleri ile aramda kan davası çıkmaması için atmıyorum kendiniz araştırın :(
Ek olarak bu attıklarım 1337 sunucu çökertme şeysi değil NBT listesi oluşturmaya yarayan bir lib :(
 
Son düzenleme:

Pudilo

Ver yetkiyi gör etkiyi.
Emektar Üye
Mesajlar
569
En iyi cevaplar
2
Beğeniler
523
Puanları
1,860
Geçenlerde bütün oyuncuların oyunlarının çökmesi üzerine bulmuştum, 1.8.4'e geçmek küçük sunucuları tamamen batırır gibime geliyor, @MrUnioDex ne yapmalı?
 

Üst