.Net Uygulama Güvenliğinde Yapılan Hatalar ve Çözüm Yolları

Bu konumda sizlere .Net Uygulama güvenliğinde yapılan hataları anlatacağım. Birçok acemi yazılımcı basit düzey login paneller ile uygulamaları için yeterince güvenlik önlemi aldığını sanmaktadır. Tersine Mühendislik ve yöntemleri ile login panel sistemleri rahatlıkla kırılabilmekte, kaynak kodlara erişilebilmektedir. Bu konuda önlem almak isteyenler online kayıt, kod karıştırma vs vs gibi yöntemlere başvurdular ama bu tip yöntemlerde kırılabiliyor. Şimdi belli başlı yapılan login/register sistemlerini ve nasıl kırılabileceklerini anlatacağım.

1. Basit Login Panel


En basit şekildeki login panel sistemidir. 2 Şekilde nasıl kırabileceğimize bakalım.

.Net Reflector Kullanarak

Uygulamayı .Net Reflectore atalım.

Bilgiler burada User ve Pass alanına gerekli bilgileri girersek login olabiliriz.

SAE Kullanarak

SAE ile uygulamayı açalım. İlgili evente gelip Details kısmını inceleyelim.

18. Satırda çift tıklayınca 27.Satıra geçiyor zaten 18.Satırda 27. Satıra geçeceği belli.

Brtrue.s değerini brFalse.s Yapmalıyız. 18. Satıra Sağ Tıklayıp Edit i seçelim.

OpCode den değeri değiştirelim ve OK’a basalım.

Sol üstten Save Basıp Dosya oluşturalim artık girilen her değer için Login olacak.

2. MD5’le Login Panel


Bu tip sistemlerde MD5 alınsa bile yine de kırılmasının zor olduğu düşünülür . Kullanıcı Adı + ara ayıraç + şifre verileri birleştirilip MD5 Değeri alınır ardından if şartı ile bu değere eşitse login işlemi olur eğer eşit değilse olmaz. İlk olarak .Net Reflector’le açalım.

Hash değerii bilmediğimizden dolayı herhangi bir işlem yapamıyoruz.

SAE Kullanarak

SAE ile uygulamayı açalım. İlgili evente gelip Details kısmını inceleyelim.

İki farklı şekilde kırabiliriz. MD5 değerini değiştirebiliriz veya satır atlayabiliriz.

A)MD5 Değiştirme

10. Satırdaki MD5 Değerini değiştirerek yapacağız. Bu değer MD5 Olmayabilir de. Bir önceki satıra baktığımızda MD5 metoduna bakmamız gerektiğini anlıyoruz.MD5 Seçip ILSpy 1.0 dan kodlara bakalım.

Burdaki kodları kopyalayalım. Yeni bir C# Forms applicationda kod penceresine kodları yapıştıralım.
Ardından herhangi bir evente aşağıdaki kodları yazın ;

Oluşan Değer : 731f70f557db8322bbbfc99e4196c07e
10.Satıra çift tıklayalım.

Oluşan MD5 Değeri yapıştırıp OK’a basalım.

Sol üstten Save Basıp Dosya oluşturalim

B)Satır Atlama

18. Satırda çift tıklayınca 25.Satıra geçiyor zaten 18.Satırda 27. Satıra geçeceği belli.

Brtrue.s değerini brFalse.s Yapmalıyız. 16. Satıra Sağ Tıklayıp Edit i seçelim.

OpCode den değeri değiştirelim ve OK’a basalım.

Sol üstten Save Basıp Dosya oluşturalim artık girilen her değer için Login olacak.

3. Online Login Panel


Sisteme kayıt online php üzerinden ardından login işlemi yapılıyor eğer girilen bilgiler sistemde kayıtlıysa Lisans İşlemi Başarılı değilse mesajı gelecek.
Uygulamayı SAE ile açalım.

22. Satırda 34. Satıra Yönlendiriyor.
Brtrue.s değerini brFalse.s Yapmalıyız. 16. Satıra Sağ Tıklayıp Edit i seçelim.

OpCode den değeri değiştirelim ve OK’a basalım.

Sol üstten Save Basıp Dosya oluşturalim artık girilen her değer için Login olacak.
Kodları karıştırmamak, sadece belli bir event altına login/register kodları koymak gibi hataları yapmaktan çekinelim.

Selametle…

Bir önceki yazımız olan .Net Uygulamalarında Serial Key Sistemi ve Güvenliği başlıklı makalemizde .Net Uygulamalarında Key Güvenliği, .Net Uygulamalarında KeyGen Yapımı ve .Net Uygulamalarında Serial Cracking hakkında bilgiler verilmektedir.

About This Author

Post A Reply