lostyazilim
tr.link

Veri güvenliği ve sahte istekleri engelleme

3 Mesajlar 997 Okunma
acebozum
tr.link

salihulukoylu salihulukoylu WM Aracı Kullanıcı
  • Üyelik 03.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Webmaster
  • Konum İstanbul Anadolu
  • Ad Soyad S** U**
  • Mesajlar 26
  • Beğeniler 10 / 6
  • Ticaret 0, (%0)
Merhaba arkadaşlar,

C# ile küçük bir exe yazdım.
Bu exe ne işe yarıyor ? Bayilerimizden bize talep göndermelerini sağlıyor.
c'de oluşturuan bir txt içerisine aktivasyon kodunu yazıyorum ve bayi isteğini yaptığında;

web client ile xxx.com/xxx/x.php ye istek gönderiyor.
Bu adrese post ile aktivasyon kodunu ve birde talebini gönderiyor.
Exe kodlarını,reflector ile açılmasını engellemek için karıştırdım daha sonra reflektorle kontrol ettiğimde çok iyi olmasada yeterli bir karıştırma oluştu.

Fakat,fidler isimli programı bilgisayara kurarak talep gönderdiğimde fidlerde hangi adrese hangi parametreler gönderildiği görülüyor.
yani xxx.com/xx/x.php ye istek gönderildiğini ve parametreleri gösteriyor.

Verileri md5 ile şifrelesem bile,aynı verilerle devamlı istek gönderildiğinde x.php tekrar işlem yapacaktır.Ya da basit bir html formla x.phpye istek gönderebilecektir.

Şimdi sorum tam olarak burası,benim yazdığım setupsız küçük exe dışında gelen istekleri geri çevirebileceğim ve sahte istekleri reddebileceğim bir yönteme ihtiyacım var.

Fikirlerinizi bekliyorum..
 

 

elektronikssl
webimgo

BrainTR BrainTR WM Aracı Kullanıcı
  • Üyelik 30.01.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Antalya
  • Ad Soyad Ö** S**
  • Mesajlar 128
  • Beğeniler 27 / 42
  • Ticaret 18, (%100)
Şuan aklıma gelen bir şeyi yazıyorum:

Öncelikle kendine özel bir şifreleme algoritması oluşturman gerekli. (En basitinden md5(md5(base64_encode(XXX))) tarzında bişey olabilir.)

1) Kullanıcı bir işlem yapacağı zaman ilk tokenal.php adresine istek gönderir.
2) tokenal.php rasgele bir yazı oluşturur ve veritabanına kullanıcı IP si ile birlikte kaydeder, ardından programa gönderir bu yazıyı.
3) Program bu yazıyı senin oluşturduğun algoritma ile şifreler.
4) Program islem.php ye şifreli yazı ile işlem parametrelerini yollar.
5) islem.php isteği yollayan kişinin IP sini alır ve veritabanında aratır, ve bu IP için oluşturulmuş tokeni alır. Sonra bu tokeni programdaki algoritmayla aynı şekilde şifreler, ve programın gönderdiği şifreli yazı ile aynı mı diye kontrol eder. Uyuşmuyorsa hata verir, Uyuşuyorsa veritabanındaki tokeni siler ve işlemleri yapıp kullanıcıya gönderir.

Birinin programın gönderdiği isteği taklit edebilmesi için, oluşturduğun şifreleme algoritmasını bulması gerekli, bu yüzden bulunamayacak bir algoritma yapman ve programını iyi şifrelemen gerekli. (decompiler lardan ve de-obfuscator lardan koruman gerek.)

Umarım anlatabilmişimdir.
 

 

salihulukoylu salihulukoylu WM Aracı Kullanıcı
  • Üyelik 03.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Webmaster
  • Konum İstanbul Anadolu
  • Ad Soyad S** U**
  • Mesajlar 26
  • Beğeniler 10 / 6
  • Ticaret 0, (%0)

BrainTR adlı üyeden alıntı

Şuan aklıma gelen bir şeyi yazıyorum:

Öncelikle kendine özel bir şifreleme algoritması oluşturman gerekli. (En basitinden md5(md5(base64_encode(XXX))) tarzında bişey olabilir.)

1) Kullanıcı bir işlem yapacağı zaman ilk tokenal.php adresine istek gönderir.
2) tokenal.php rasgele bir yazı oluşturur ve veritabanına kullanıcı IP si ile birlikte kaydeder, ardından programa gönderir bu yazıyı.
3) Program bu yazıyı senin oluşturduğun algoritma ile şifreler.
4) Program islem.php ye şifreli yazı ile işlem parametrelerini yollar.
5) islem.php isteği yollayan kişinin IP sini alır ve veritabanında aratır, ve bu IP için oluşturulmuş tokeni alır. Sonra bu tokeni programdaki algoritmayla aynı şekilde şifreler, ve programın gönderdiği şifreli yazı ile aynı mı diye kontrol eder. Uyuşmuyorsa hata verir, Uyuşuyorsa veritabanındaki tokeni siler ve işlemleri yapıp kullanıcıya gönderir.

Birinin programın gönderdiği isteği taklit edebilmesi için, oluşturduğun şifreleme algoritmasını bulması gerekli, bu yüzden bulunamayacak bir algoritma yapman ve programını iyi şifrelemen gerekli. (decompiler lardan ve de-obfuscator lardan koruman gerek.)

Umarım anlatabilmişimdir.


Verdiğin bilgiler çok işime yaradı,anlattığın yöntemle şifreleme algoritmaları geliştirerek yeni bir token oluşturdum ve kontrolleri sağladım.
Teşekkür ederim,eyvallah.
BrainTR

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al