MD5 (Message-Digest algorithm 5) Aslında ne ?

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba arkadaşlar bu bölümde açılan konuları gördüğümde bu konuyu açma gereği duydum.
MD5 (Message-Digest algorithm 5)
Bir şifreleme sistemi değildir.Özet sistemidir.
Yani basitçe anlatacak olursam.
Bir veri girersiniz md5 fonksiyonu bunu 128 bit boyutunda bir özete dönüştürür.
Şifreleme algoritması içermez.
Girilen verinin boyutunu önemsemez.
Bazı açıkları mevcuttur, çakışmalar gibi bu sebeple gözden düşmektedir.
Bu çakışmalar ne derseniz, iki farklı veriyi aynı özete dönüştürmesidir.
Metin2 üstünden örnek verirsek.
Siz kayıt olurken yazdığınız şifre mysql databasesinde md5 özeti olarak tutulur.
Siz clientten login olurken yazdığınız şifrede md5 ile özetlenir ve databasedeki özetle örtüşürse oyuna girebilirsiniz...
Ve deneme programları ile şifreniz bulunabilir.Bu çakışmalarda şifrenizin bulunma olasılığını arttırır.
çünkü birden fazla veri için aynı özet oluştuğu için.

Şimdi konuyu asıl açma sebebime gelelim birkaç konu gördüm şifre üretme siteleri diye.
size tavsiyem kesinlikle bu siteleri kullanmayınız.
Her ne kadar md5 'in açıkları olsada kaba kuvvetle şifreyi çözme işlemi çok uzun sürebilir.
Bu sebeple bu siteler sizin özetlediğiniz şifreleri kayıt altına alabilirler.
Çünkü çözme işleminin ilk aşaması bilinen özetlerin karşılaştırılmasıdır.
MD5 çözme siteleri aslında gerçek anlamda şifre kırmaz.Kayıtlarında olan özetleri
sizin özetiniz ile karşılaştırır.Eşleşme varsa sizin girdiğiniz özetin fonksiyon öncesi halini size verir.
Bu sebep ile bu siteleri kullanmayınız.
Çok ihtiyacınız var ise navicat üstünden md5 özeti oluşturabilirsiniz.
Örnek:
Oyuna kayıt olun account tablesindeki özet sizin yazdığınız şifrenin fonksiyon sonraki halidir.
Eğerki kayıt paneliniz yok ise navicattan sunucunuza bağlandıktan sonra
user bölümünden yeni bir kullanıcı oluşturun şifre bölümüne dönüştürmek istediğiniz veriyi girin
daha sonra winscp ile
Kod:
/var/db/mysql/mysql
içerisindeki
user.MYD
dosyasını not defteri ile açın
Girdiğiniz kullanıcı adının yanında bulunan
* dan sonraki bölüm sizin özetinizdir.


MD5 (Message-Digest Algorithm 5) Nedir?
Metin2Lobby olarak sunucu yönetimi, güvenlik ve veritabanı işlemlerinde sıklıkla kullanılan kriptografik bir hash fonksiyonudur MD5. Özellikle Metin2 sunucularında kullanıcı hesapları, parolalar ve diğer hassas verilerin güvenliğini sağlamak amacıyla kullanılır. MD5, girdi olarak verilen veriden sabit uzunlukta bir hash değeri üretir. Bu değer, orijinal veriyle birebir ilişkilidir; ancak geri dönüşü mümkün değildir. Yani MD5 ile elde edilen hash, tekrar orijinal metne dönüştürülemez.

MD5'in Özellikleri
MD5 algoritması, 128-bitlik bir hash değeri üretir. Bu hash değeri genellikle hexadecimal (onaltılık) sistemde ifade edilir. Örneğin, 'hello' kelimesinin MD5 hash değeri '5d41402abc4b2a76b9719d911017c592' şeklindedir. Bu özellik sayesinde, Metin2 sunucularında kullanıcı şifreleri doğrudan veritabanında tutulmak yerine MD5 ile şifrelenerek saklanır. Bu yöntem, veritabanı sızıntısı gibi durumlarda gerçek şifrelerin ele geçirilmesini engeller.

MD5 Güvenlik Açığı
MD5 algoritması zamanla bazı güvenlik açıklarına sahip olduğu ortaya çıkmıştır. Özellikle 'collision attack' yani çakışma saldırıları ile iki farklı girdinin aynı hash çıktısını verebilmesi mümkündür. Bu nedenle, daha güvenli alternatifler olan SHA-256 veya bcrypt gibi algoritmalar tercih edilmelidir. Ancak hâlâ bazı eski sistemlerde ve Metin2 gibi oyun sunucularında hâlâ kullanılmaktadır.

MD5 Kullanımı ve Metin2 Veritabanı
Metin2 sunucularında genellikle 'account' tablosunda kullanıcı adı ve şifre bilgileri yer alır. Şifreler burada MD5 ile şifrelenmiş halde tutulur. Örnek olarak bir MySQL sorgusu şu şekilde olabilir:

SELECT * FROM account WHERE login='oyuncuadi' AND password=MD5('sifre')

Bu sorgu, kullanıcı giriş yaparken girilen şifreyi MD5 ile şifreleyip veritabanındaki hash ile karşılaştırır. Eğer eşleşiyorsa giriş izni verilir. Bu yöntem, Metin2 geliştiricileri tarafından yaygın şekilde kullanılmaktadır.

MD5 ile Güvenliği Arttırmak
Salt (tuzlama) yöntemi ile MD5 hash fonksiyonunun güvenliği artırılabilir. Salt, rastgele karakterlerden oluşan bir dizedir ve şifrelemeden önce orijinal şifrenin başına ya da sonuna eklenir. Örneğin: SHA1(sifre + 'rastgele_tuz'). Bu yöntem, rainbow table saldırılarını etkisiz hale getirir.

SQL Injection ve MD5[/BR]SQL injection saldırılarında, saldırganlar bazen MD5 hash değerleriyle oynamaya çalışabilir. Bu tür saldırılardan korunmak için kullanıcıdan gelen verilerin filtrelenmesi, prepared statements kullanılması ve MD5 dışında daha güçlü şifreleme yöntemlerine yönelmek önemlidir.

Sonuç
MD5, eski ve basit bir hash algoritmasıdır. Metin2 gibi sistemlerde hâlâ kullanılsa da, güvenlik açıklarından dolayı artık önerilen bir yöntem değildir. Ancak öğrenme ve eski sistemleri anlama açısından önemlidir. Metin2Lobby olarak, sunucu güvenliği ve veritabanı işlemleri konusunda farkındalık yaratmayı hedefliyoruz.


What is MD5 (Message-Digest Algorithm 5)?
At Metin2Lobby, MD5 is a cryptographic hash function frequently used for server management, security, and database operations. It generates a fixed-length hash value from input data. This hash value is unique to the original data but cannot be reversed to retrieve the original input. For example, MD5 is commonly used to store user passwords and sensitive information securely in Metin2 servers without storing actual passwords directly.

Characteristics of MD5
The MD5 algorithm produces a 128-bit hash value typically expressed in hexadecimal format. For example, the MD5 hash of the word 'hello' is '5d41402abc4b2a76b9719d911017c592'. Because of this feature, passwords in Metin2 servers are often encrypted with MD5 before being stored in the database, preventing real passwords from being exposed in case of database leaks.

Security Vulnerabilities of MD5
Over time, vulnerabilities in the MD5 algorithm have been discovered, particularly collision attacks where two different inputs produce the same hash output. Therefore, more secure alternatives like SHA-256 or bcrypt are now recommended. However, MD5 is still used in some legacy systems and older game servers like Metin2.

Usage of MD5 in Metin2 Database
In Metin2 servers, usernames and passwords are generally stored in the 'account' table. Passwords are stored encrypted with MD5. An example MySQL query might look like this:

SELECT * FROM account WHERE login='playername' AND password=MD5('password')

This query compares the entered password hashed with MD5 to the hash stored in the database. If they match, access is granted. This method is widely used by Metin2 developers.

Improving Security with Salting
The security of MD5 can be improved by adding a salt—a random string added to the password before hashing. For example: SHA1(password + 'random_salt'). This prevents rainbow table attacks and makes reverse engineering the hash significantly harder.

SQL Injection and MD5
In SQL injection attacks, attackers may attempt to manipulate MD5 hash values. To prevent such attacks, it's important to filter user input, use prepared statements, and consider stronger encryption methods beyond MD5.

Conclusion
MD5 is an old and simple hashing algorithm. Although still used in systems like Metin2, it is no longer recommended due to known security flaws. However, understanding MD5 remains important for learning about legacy systems. At Metin2Lobby, we aim to raise awareness regarding server security and database operations.
 

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

Benzer konular

Geri
Üst Alt