İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

vSro Paylaşım vSRO Temel Exploit & Paket Güvenliği Fix Kodları

Cevaplar0
Görüntüleme450
serkankacan paylaşımı beğendiysen ona bir kahve ısmarlayabilirsin
Kahve ısmarla
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
180
Tepkime puanı
31
Puanları
0
Mevcut Bakiye
5 ₺
[REHBER] vSRO Temel Exploit & Paket Güvenliği Fix Kodları
Filter / Guard Altyapınız İçin Shard & GameServer Çökertme Saldırılarını Önleme Yöntemleri​



Merhaba değerli forum sakinleri,

vSRO sunucularında en sık karşılaşılan güvenlik zafiyetlerinin başında, istemci (client) tarafından sunucuya gönderilen manipüle edilmiş veya hatalı yapılandırılmış paketlerin ShardManager veya GameServer bileşenlerini çökertmesi (crash exploit) gelmektedir.

Aşağıda paylaşılan kontrolleri, C# tabanlı özel Guard veya Filter projenizin paket ayrıştırma (PacketHandler / OnPacketReceived) döngüsüne entegre ederek bu zafiyetlerin büyük çoğunluğunu sunucuya ulaşmadan engelleyebilirsiniz.

Önemli Uyarı' Alıntı:
Lütfen Dikkat: Kodları doğrudan projenize kopyala-yapıştır yapmayınız! Her Guard yazılımının paket okuma kütüphanesi (PacketReader, Packet), değişken isimleri ve oturum sonlandırma (Disconnect) metotları farklılık gösterebilir. Kod mantığını kendi yapınıza uyarlayınız.



1. Opcode 0x7005 (Karakter / Sunucu Seçim Ekranı Kontrolü)

  • Tehdit: İstemci bu pakette geçersiz bayrak (flag) değerleri enjekte ederek Shard tarafında beklenmedik durum oluşturabilir ve belleği kitleyebilir.
  • Mantık: İlk bayt değerinin 2'den büyük olmaması gerekir. Geçersiz bir aralıkta ise paket derhal sonlandırılmalıdır.





2. Opcode 0x7007 (Karakter Yönetim İşlemleri Kontrolü)

  • Tehdit: Karakter oluşturma, silme veya geri getirme isteklerinde eksik/fazla bayt gönderildiğinde sunucu tarafında IndexOutOfRangeException hatası ile crash oluşur.
  • Mantık: Alt işlem kimliğine (actionType) göre paket gövdesi katı uzunluk ve tip kontrolünden geçirilir; olası taşmalara karşı try-catch bloğuna alınır.





3. Opcode 0x750E (Boş Payload Doğrulaması)

  • Tehdit: Normal şartlarda boş olması gereken bu bildirime sahte veri enjekte edilerek sunucu tampon belleği (buffer) taşırılmaya çalışılır.
  • Mantık: Paket içeriğinde 0 bayttan fazla veri varsa paket doğrudan reddedilir.





4. Opcode 0x3012 (Durum / Keep-Alive Sorgu Kontrolü)

  • Tehdit: Canlılık veya durum sorgularına yetkisiz payload yerleştirilerek bağlantı protokolünün bozulması hedeflenir.
  • Mantık: Gövde uzunluğu sıfırdan büyük olan tüm istekler düşürülür.





5. Opcode 0x3510 (Geçersiz / Güvenilmeyen Paket Engelleme)

  • Tehdit: Normal şartlarda istemci tarafından gönderilmemesi gereken bir sistem paketidir. GameServer'a iletilmesi durumunda kilitlenmelere yol açabilir.
  • Mantık: Paket Shard veya GameServer'a ulaştırılmadan döngüden atlanır (Drop edilir).





Geliştirici Notu & Güvenlik Tavsiyesi:
Tüm paket okuma adımlarınızda mutlaka try-catch blokları kullanın. Saldırganların en çok başvurduğu yöntem, beklenen türden daha kısa bayt dizisi göndermektir. Eğer kodunuzda koruma bloğu yoksa istemci değil, doğrudan sizin Guard uygulamanız çöker.

Sorularınızı ve eklemek istediğiniz diğer opcode kontrollerini konu altından paylaşabilirsiniz. Herkese iyi forumlar!
 
Moderatör tarafında düzenlendi:

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 337 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,427
Mesajlar 4,481
Kullanıcılar 1,830
Son üye VelixaGame
Geri
Üst