SQL Fixleyenler Lonca Bugunu Kapatmalı...

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 98

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Sql açığını fixlemek için girdiğiniz kodlar lonca buguna sebep olmaktadır bug aynı lonca isminden herkes açabilir bunu fixlemek için lonca kodunu hiç değiştirmenize gerek yok orjinalini kullanın sql açığı sadece messenger de mevcuttu loncada yok

guild_manager.cpp içerisinde kod satırını orjinal ile değiştirin.

Kod:
DWORD CGuildManager::CreateGuild(TGuildCreateParameter& gcp) { if (!gcp.master) return 0; if (!check_name(gcp.name)) { gcp.master->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<길드> 길드 이름이 적합하지 않습니다.")); return 0; } std::auto_ptr<SQLMsg> pmsg(DBManager::instance().DirectQuery("SELECT COUNT(*) FROM guild%s WHERE name = '%s'", get_table_postfix(), gcp.name)); if (pmsg->Get()->uiNumRows > 0) { MYSQL_ROW row = mysql_fetch_row(pmsg->Get()->pSQLResult); if (!(row[0] && row[0][0] == '0')) { gcp.master->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<길드> 이미 같은 이름의 길드가 있습니다.")); return 0; } } else { gcp.master->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<길드> 길드를 생성할 수 없습니다.")); return 0; } // new CGuild(gcp) queries guild tables and tell dbcache to notice other game servers. // other game server calls CGuildManager::LoadGuild to load guild. CGuild * pg = M2_NEW CGuild(gcp); m_mapGuild.insert(std::make_pair(pg->GetID(), pg)); return pg->GetID(); }

Bugtan ss
3399023_resim1.png

SQL Fixleyenler Lonca Bugunu Kapatmalı


Metin2 özel sunucularında güvenliği sağlamak ve hilelere karşı mücadele etmek, geliştiriciler için hayati öneme sahiptir. Özellikle loncalar arası etkileşimlerin büyük rol oynadığı bu sistemlerde, SQL fixleyenler tarafından yapılan açıklar, sunucu bütünlüğünü ciddi anlamda tehdit edebilmektedir. Bu yazımızda, lonca sistemindeki güvenlik açıklarını ve özellikle lonca bugunun nasıl kapatılması gerektiğini detaylı olarak ele alacağız.

Lonca Sistemi Nedir?

Metin2'de loncalar, oyuncuların bir araya gelerek ortak hedeflere ulaşmalarını sağlayan sosyal yapıdır. Lonca üyeleri birlikte savaşabilir, eşyaları paylaşabilir ve ortak olarak görevleri tamamlayabilirler. Ancak bu yapı, doğru şekilde korunmadığında, saldırganlar tarafından istismar edilebilir. Özellikle SQL yani veritabanı seviyesinde yapılan açıklar, lonca sisteminin bütünlüğünü tehlikeye atabilir.

SQL Fixlemek Ne Demektir?

SQL fix, veritabanı sorgularında yapılan güvenlik açıklarını istismar ederek, saldırganların yetkisiz girişimlerde bulunmasını sağlar. Örneğin, bir loncanın liderliğini ele geçirmek veya lonca içi envanteri manipüle etmek gibi işlemler yapılabilir. Bu tür saldırılar genellikle game server tarafında eksik doğrulama kontrollerinden kaynaklanır.

Lonca Bugu Nereden Kaynaklanır?

Lonca sistemindeki açıklar genellikle aşağıdaki nedenlerden dolayı oluşur:
- Doğrulanmamış kullanıcı girdileri
- Yetkilendirme kontrollerinin yetersiz olması
- SQL sorgularının doğrudan string birleştirmeyle oluşturulması
- Sunucu tarafında eksik loglama ve izleme mekanizmaları

Nasıl Kapatılır?

Lonca bugunu kapatmak için geliştiricilerin dikkat etmesi gereken bazı önemli adımlar vardır:

1. Parametrik SQL sorguları kullanarak doğrudan string birleştirme yapmaktan kaçınılmalıdır. Bu sayede SQL injection saldırıları engellenir.

2. Her lonca işlemi öncesi, kullanıcıya ait yetki kontrolü yapılmalıdır. Örneğin, bir loncayı silmek isteyen kişi gerçekten o loncanın lideri mi?

3. Sunucu tarafında loglama mekanizmaları aktif tutulmalı. Şüpheli aktiviteler tespit edildiğinde, hızlı müdahale imkanı sunar.

4. Client src ve server src arasında veri akışı güvenli hale getirilmelidir. Gerekirse encryption kullanılabilir.

C++ Kaynak Kodlarında Güvenlik

Metin2 sunucuları genellikle C++ tabanlıdır. Bu nedenle, source edit aşamasında güvenlik açıklarını tespit etmek ve kapatmak büyük önem taşır. Özellikle db_core ve game_core bölümlerinde yapılan her değişiklik, güvenlik açısından test edilmelidir. Ayrıca, martysama gibi popüler kaynak kodlarda da bilinen açıklar düzenli olarak takip edilmeli ve gerekli güncellemeler yapılmalıdır.

Sonuç

Metin2 özel sunucularında lonca sistemi, hem sosyal hem de stratejik açıdan çok önemlidir. Ancak bu sistemin güvenliği sağlanmadığında, sunucu bütünlüğü ciddi şekilde tehdit altına girer. Geliştiricilerin, SQL fixleyenler tarafından yapılan açıkları fark etmeleri ve gerekli önlemleri almaları, uzun vadeli başarı için şarttır. Metin2Lobby olarak, bu tür güvenlik açıklarına karşı bilinçli olmanızı ve gerekli önlemleri almanızı öneriyoruz.


Guild Bugs Should Be Closed by SQL Fixers


Securing Metin2 private servers and fighting against exploits are of vital importance for developers. Especially in systems where guild interactions play a major role, vulnerabilities exploited by SQL fixers can seriously threaten server integrity. In this article, we will examine in detail the security flaws in the guild system and specifically how to close the guild bug.

What Is the Guild System?

In Metin2, guilds are social structures that allow players to come together and achieve common goals. Guild members can fight together, share items, and complete tasks collectively. However, if not properly secured, this structure can be exploited by attackers. Particularly, vulnerabilities at the database level—known as SQL—can endanger the integrity of the guild system.

What Does SQL Fixing Mean?

SQL fixing refers to exploiting security flaws in database queries, allowing attackers to perform unauthorized actions. For example, they might take over guild leadership or manipulate guild inventory. Such attacks often arise from insufficient validation checks on the game server side.

Where Does the Guild Bug Stem From?

The vulnerabilities in the guild system typically occur due to the following reasons:
- Unvalidated user inputs
- Insufficient authorization checks
- Direct string concatenation in SQL queries
- Weak logging and monitoring mechanisms on the server side

How Can It Be Fixed?

To close the guild bug, developers must follow several important steps:

1. Use parameterized SQL queries to avoid direct string concatenation, which prevents SQL injection attacks.

2. Perform authorization checks before every guild operation. For instance, verify whether the person attempting to delete a guild is indeed its leader.

3. Activate logging mechanisms on the server side. This allows for quick intervention upon detecting suspicious activity.

4. Secure data flow between client src and server src. Encryption may be used if necessary.

Security in C++ Source Code

Metin2 servers are generally based on C++. Therefore, identifying and patching security vulnerabilities during the source edit phase is crucial. Every change made in sections like db_core and game_core should be tested for security. Additionally, known vulnerabilities in popular source codes such as martysama should be monitored regularly, and necessary updates should be applied.

Conclusion

In Metin2 private servers, the guild system is both socially and strategically significant. However, if its security is not ensured, server integrity can be seriously threatened. Developers must detect and address vulnerabilities exploited by SQL fixers to ensure long-term success. At Metin2Lobby, we recommend staying aware of these kinds of security flaws and taking necessary precautions.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt