-
Ü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..
-
Ü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.