folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Güvenlik Açığı WCF SERVİCES (ANDROİD/WCF/HTTP RESTFULL)



Güvenlik Açığı WCF SERVİCES (ANDROİD/WCF/HTTP RESTFULL)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Müridler WCF Servisi örneğin  URiTemplate si OrnekJSON/?username={username}&password{password} olsa

    Android de de  http://11.51.129.17/MyService.svc/OrnekJSON/username=" +username+ "&password=" +password göndersem Güvenlik açığı olur mu ? 

    Koda dökersek

    String username="Ahmet",password="1234";

    String LoginUrl="username=" +username+ "&password=" +password;

    Url myUrl=new Url(" http://11.51.129.17/MyService.svc/OrnekJSON/" +LoginUrl);

     

    Olarak bir Restfull gönderdim diyelim ... Bu benim programının güvenliğini azaltır mı ? 

    Bunu Metod Adını ekleyerek de daha kullanışlı hale getirebilirim ama güvenlik sıkıntısı olabilir diye düşünüyorum ...

     

     EDİT : Mühendislik kazandık fakat hala 2 cümle kuramıyoruz.... Umarım anlatabilmişimdir :(

    MhmdAlmz tarafından 22/Ara/15 15:28 tarihinde düzenlenmiştir

    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dhmm
    dhmm's avatar
    Kayıt Tarihi: 15/Eylül/2011
    Erkek

    Hocam tavsiye vereyim kendimce

    1 - username ve password u sifreleyerek gonder. Encryption yap ve servis tarafinda decrypt ederek denetle

    2 - Deri token gonder ve session id bunlari kullanarak devam et.

    3 - 2-3 defa yanlis sifre girildiginde kilitle acilamasin

    4- Ayrica url olarak username=12321&password=123123 yerine atiyorum I#^%$G#dI^GI#D&^TH#IT8i gibi bisey gonderip bunu once servis tarafli cozumleyip sonra decrypt edebilirsin.

    Aklima ilk gelenler bunlar


    Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver !!! // Hayatin herkes icin bir bavulu vardir !!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    dhmm bunu yazdı

    Hocam tavsiye vereyim kendimce

    1 - username ve password u sifreleyerek gonder. Encryption yap ve servis tarafinda decrypt ederek denetle

    2 - Deri token gonder ve session id bunlari kullanarak devam et.

    3 - 2-3 defa yanlis sifre girildiginde kilitle acilamasin

    4- Ayrica url olarak username=12321&password=123123 yerine atiyorum I#^%$G#dI^GI#D&^TH#IT8i gibi bisey gonderip bunu once servis tarafli cozumleyip sonra decrypt edebilirsin.

    Aklima ilk gelenler bunlar

    Mantıklı ama şifreleyerek göndersembile javada projeler decompile edilebiliyor şifreleyerek göndeirsem adam kodu kopyalayıp aynı şifreleme ile tekrar veriyi gönderip sonuçları çekebilir serviste session olabilir 3. denemede gümlesin 10 dk giriş yapamasın mesela o dediğiniz !#+'^gibi özel karakterler zaten engelli olması lazım o zaman sağlıklı bi program olmaz :) Benim sıkıntım sonuçta http bi request yapıyoruz adam bi program yazıp sonsuz döngü yani bilmem kaçın kaçlı kombinasyonu ile bütün kullanıcı verilerini çekebilir o yüzden sorun var :/


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Hocam bu talepleri karşılama meselesinde bir şey göndermeden de alabileceğin değerler var mı?

    Mesela web tarafında, ziyaretçinin ip adresi, tarayıcı bilgisi vs.. gibi şeyleri adres satırında felan taşımadan alabiliyoruz. Varsa böyle bir özellik onları kullanmaya çalışsan.

    Yani, spesifik bir şey yakalamak gibi.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    ontedi bunu yazdı

    Hocam bu talepleri karşılama meselesinde bir şey göndermeden de alabileceğin değerler var mı?

    Mesela web tarafında, ziyaretçinin ip adresi, tarayıcı bilgisi vs.. gibi şeyleri adres satırında felan taşımadan alabiliyoruz. Varsa böyle bir özellik onları kullanmaya çalışsan.

    Yani, spesifik bir şey yakalamak gibi.

    Sanırım Login kısmını SQL de log tablosuna kaydedip sürelere bakmak gibi mi yani örneğin Ahmet kullanıcısı 01/02/2015 saat 20 de 10 u 45 geçe giriş yaptı mesela 15 saniyelik bir engel mi koymamı kastettiniz ?


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Aslında wcf nedir açıkcası onu bilmiyorum. Şuan mesela A sayfasından B sayfasına tıklayarak gittin diyelim. Ve bizde B sayfasında

    string nereden_geldim = Request.ServerVariables["http_referer"]

    Diyerek geldiğimiz sayfayı bulabiliriz (Yani A sayfasını). Geldiğimiz sayfaya göre manüplasyonlar yapabiliriz.

    Dilim döndüğünce anlatmaya çalıştım


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dhmm
    dhmm's avatar
    Kayıt Tarihi: 15/Eylül/2011
    Erkek
    MhmdAlmz bunu yazdı
    dhmm bunu yazdı

    Hocam tavsiye vereyim kendimce

    1 - username ve password u sifreleyerek gonder. Encryption yap ve servis tarafinda decrypt ederek denetle

    2 - Deri token gonder ve session id bunlari kullanarak devam et.

    3 - 2-3 defa yanlis sifre girildiginde kilitle acilamasin

    4- Ayrica url olarak username=12321&password=123123 yerine atiyorum I#^%$G#dI^GI#D&^TH#IT8i gibi bisey gonderip bunu once servis tarafli cozumleyip sonra decrypt edebilirsin.

    Aklima ilk gelenler bunlar

    Mantıklı ama şifreleyerek göndersembile javada projeler decompile edilebiliyor şifreleyerek göndeirsem adam kodu kopyalayıp aynı şifreleme ile tekrar veriyi gönderip sonuçları çekebilir serviste session olabilir 3. denemede gümlesin 10 dk giriş yapamasın mesela o dediğiniz !#+'^gibi özel karakterler zaten engelli olması lazım o zaman sağlıklı bi program olmaz :) Benim sıkıntım sonuçta http bi request yapıyoruz adam bi program yazıp sonsuz döngü yani bilmem kaçın kaçlı kombinasyonu ile bütün kullanıcı verilerini çekebilir o yüzden sorun var :/

    Hocam compile decompile algoritman degiskenlik gostersin. Servis tarafli veritabaninda tut belirli sifreleme yontemlerini ve keywordleri. Kodla birlikte veritabanini da almasi lzm.

    Hocam eger 3 yanlis giris olursa adami banla. Bunu disinda 3x3 yanlis denemede hostname/ip banla daha giremesin. Seni arasinlar gel ac diye.

    Sonra aklima gelirse daha yazarim simdi kaciyom

    (&^(*& a gelice :) attim iste.


    Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver !!! // Hayatin herkes icin bir bavulu vardir !!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    ontedi bunu yazdı

    Aslında wcf nedir açıkcası onu bilmiyorum. Şuan mesela A sayfasından B sayfasına tıklayarak gittin diyelim. Ve bizde B sayfasında

    string nereden_geldim = Request.ServerVariables["http_referer"]

    Diyerek geldiğimiz sayfayı bulabiliriz (Yani A sayfasını). Geldiğimiz sayfaya göre manüplasyonlar yapabiliriz.

    Dilim döndüğünce anlatmaya çalıştım

    Yok hocam bu farklı siz sayfalar arası geçişten bahsediyorsunuz servis mantığı farklı :/ tam olarak web sayfası değil 


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    Hayır, get ile göndersen de post ile göndersen de aşağı yukarı aynı şeydir. Güvenlik açığı olarak neden bahsediyorsunuz? Biz nasıl tahribata giriyorsak aynı şey kısacası.

    Nasıl bir güvenlik lazım? DoS falan ise yapmanız gereken donanım tabanlı çözümler ve ip filtreleme.

    Tek seferlik bir servis değilse (örneğin ilk kimlik doğrulamadan sonraki diğer kimlik doğrulaması gerektiren işlemler için oturum sağlanıyorsa) kimlik doğrulaması için bir token göndermeniz daha iyi olur.


    Olaylara karışmayın!
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek

    Encrypt et yolla


    Hello, i am nothing. I come from Neverland.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    YeniHarman bunu yazdı

    Hayır, get ile göndersen de post ile göndersen de aşağı yukarı aynı şeydir. Güvenlik açığı olarak neden bahsediyorsunuz? Biz nasıl tahribata giriyorsak aynı şey kısacası.

    Nasıl bir güvenlik lazım? DoS falan ise yapmanız gereken donanım tabanlı çözümler ve ip filtreleme.

    Tek seferlik bir servis değilse (örneğin ilk kimlik doğrulamadan sonraki diğer kimlik doğrulaması gerektiren işlemler için oturum sağlanıyorsa) kimlik doğrulaması için bir token göndermeniz daha iyi olur.

    Hocam Örneğin burdan kullanıcı giriş yapacak ya ... giriş yaparken bu postu yapacak adam sıra sıra kullanıcıları  karakter cinsinden gönderip bütün kullanıcı adı şifreyi çekmez mi ? yani dönüş değerine göre kullanıcı var yok diyip giriş yapacak adam Get post yaparak kullanıcı adı ve şifreleri çekebilir birde bu şekilde veritabanına sınırsız veri ekleyebilir... ondan bahsediyorum :/


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
Toplam Hit: 2187 Toplam Mesaj: 19
android güvenlik wcf güvenlik