• 20-09-2013, 16:33:11
    #10
    zinan adlı üyeden alıntı: mesajı görüntüle
    şimdi ben kendi yol haritamı söylüyorum; böyle bir haince plana kalkıştım, girdim baktım sayfana, ahan dedim bu sayfada neler dönüyor bi kurcalayım;

    ilk yapacağım şey haliyle CTRL+V ile kaynak koda bakmak. Orda javascriptle kabak gibi username ve hash aldığını görürsem oo derim acaba bu nereye gidiyor nasıl gidiyor ona bakarım. ola ki servis adresini ve post parametrelerini de buldum, bu sefer oraya brute yaparım. servis yanıt veriyor mu onu dinlerim. hala sonuç yoksa sayfaya geri döner kullanıcı adını ve hash değerini nerden alıyorsun ona bakarım. eğer ordan da birşey çıkartamazsam en son 2 yöntem kalır; 1. farklı kullanıcı adlarıyla hash hesaplatıp algoritma reverse ile uğraşmak, 2. servise erişimi olan bir kullanıcı aramak. her ikisi de vakit alacak işler olduğundan, uğraşmaya değecek kadar değerli birşey yoksa allaha havale eder giderim.

    umarım anlatabildim, komplo teorilerine gerek yok aslında. çok kıtır olmayan bir şifreleme yaparsın, sonra bu senin yaptığın birşey değilmiş gibi kötü niyetli kullanıcı gibi girip açık ararsın sonra birkaç kişiye test ettirirsin o kadar. AES kullanırsın mesela şifreleme için. anahtar sözcüğü bulamadıktan sonra kırılmaz. gayet de kolay uygulanır. o kısmı geçtik öyleyse. javascript ile değişken tutma ve servise veri gönderimini gizli yapma konusuna da çözüm bulursan benim haince saldırı planlarımı bertaraf etmiş olursun
    Üçünüde göreceksiniz kaynak kodda,hash değeride kullanıcı adıda ve nereye istek yapıldığıda.Bende diyorumki o istek yapılan url ye istek yaptınız diyelim,kullanıcı adı ve hash değerini kaynak kodundan baktınız birebir istek yaptınız bu durumda kod çalışacak.Bunda zaten problem yok,yine kendi giriş yaptığınız isimle post etmiş olacaksınız,benim açımdan problem çıkarmaz bu.Ama kendi hesabınızla giriş yapıp başka bir kullanıcı ismini post etmeye çalışsanız bunu yapabilir misiniz ? Onu merak ediyorum ben.Token değerini bilmedikten sonra veya token algoritmasını çözemedikten sonra ne yapabilirsiniz ki ? Aklıma bir şey gelmiyor benim.
  • 20-09-2013, 16:39:51
    #11
    tolgay007 adlı üyeden alıntı: mesajı görüntüle
    Ama kendi hesabınızla giriş yapıp başka bir kullanıcı ismini post etmeye çalışsanız bunu yapabilir misiniz ? Onu merak ediyorum ben.Token değerini bilmedikten sonra veya token algoritmasını çözemedikten sonra ne yapabilirsiniz ki ? Aklıma bir şey gelmiyor benim.
    olay o zaten. token hesaplayamıyorsam veya hesaplanmış ve doğrulanmış hazır token değerini ve kullanıcı adını bilmiyorsam yapabileceğim birşey yoktur.

    sonuç: fazla kasma, temiz bir şifreleme yap geç
  • 20-09-2013, 16:46:14
    #12
    zinan adlı üyeden alıntı: mesajı görüntüle
    olay o zaten. token hesaplayamıyorsam veya hesaplanmış ve doğrulanmış hazır token değerini ve kullanıcı adını bilmiyorsam yapabileceğim birşey yoktur.

    sonuç: fazla kasma, temiz bir şifreleme yap geç
    Tamam hocam,teşekkürler.Bu kadar kasmamın sebebi bunun mutlaka denenecek olması ve siteninde trafiği yüksek,bir çok kişi dener yani
  • 20-09-2013, 18:24:32
    #13
    Üyeliği durduruldu
    User index.php ye session dan geliyorsa session hijacking yapar geçerim
  • 20-09-2013, 20:36:19
    #14
    Hyperion adlı üyeden alıntı: mesajı görüntüle
    User index.php ye session dan geliyorsa session hijacking yapar geçerim
    Biraz daha açar mısın ?
  • 20-09-2013, 20:40:10
    #15
    Üyeliği durduruldu
    tolgay007 adlı üyeden alıntı: mesajı görüntüle
    Biraz daha açar mısın ?
    Index.php ye giris yapan kullanicinin session id si cookie ile saklanmiyor mu benimle ayni agdan giren bir session id yi alip servere iletirsem server beni o kullanici olarak gorur ya da xss ile alabilirim ayni id yi

    GT-I9200 cihazımdan Tapatalk 4 ile gönderildi
  • 20-09-2013, 21:18:38
    #16
    Hyperion adlı üyeden alıntı: mesajı görüntüle
    Index.php ye giris yapan kullanicinin session id si cookie ile saklanmiyor mu benimle ayni agdan giren bir session id yi alip servere iletirsem server beni o kullanici olarak gorur ya da xss ile alabilirim ayni id yi

    GT-I9200 cihazımdan Tapatalk 4 ile gönderildi
    Tamam o şekilde alırsın hocam,ama sadece giriş yaptığı kullanıcının kullanıcı adını ve token değerini alacaksın,sadece onun adına sokete veri yollayabilirsin.Benim dediğim yine öyle girdiğini düşün ama öyle girip başka kullanıcı adına veri gönderdiğini düşün.Diğer insanların token değerini alamayacaksın ki ?
  • 20-09-2013, 21:20:55
    #17
    Üyeliği durduruldu
    Sonucta benden baska bi kişi adina yolluyorum

    GT-I9200 cihazımdan Tapatalk 4 ile gönderildi
  • 21-09-2013, 01:13:05
    #18
    tolgay007 adlı üyeden alıntı: mesajı görüntüle
    Merhaba

    Şimdi,bir algoritma yapmam gerekiyor şöyle düşünün sizin bir kullanıcı adınız var bir buton var ve butona basınca "tolgay007 butona bastı" gibisinden yazıyor.Şimdi burda soket kullanacağım için direk session erişimim yok.

    Sokete gönderirken iki veri yollayacağım birincisi kullanıcı adı,ikincisi token dediğim benim üreteceğim bir kombinasyon.Burda php ile session kontrolü yapmayı unutun öyle bir kontrol yok.Algoritmam şöyle olacak:

    1)Sokete kullanıcı adı ve kendi özel kombinasyonumla üretmiş olduğum kullanıcı adının şifrelenmiş hali gönderilir(bu token değeri oluyor).
    2)Soket kullanıcı adını ve token değerini alır,tokenı nasıl şifrelediysem aynı şekilde çözer ve gelen sonuç kullanıcı adına eşitse isteği veritabanına işler.Eğer değilse çalışmaz.

    Bu korumayı aşabilir miydiniz ? Yani kendi hesabınıza girip ufak bir değişiklik ile başkası gibi butona basmış gösterebilir miydiniz ?

    Not:Unutmayın php ile session kontrolü yapamıyorum sokette,tamamen dediğim algoritmaya göre çalışacak.

    Not 2:Token oluşturma algoritması karmaşık olacak,yani onun nasıl şifreleme yaptığını bulamayacaksınız.
    Güvenlik önemli bir mevzubahis ise neden soket bağlantısını da oluşturacağınız bir PHP dosyası ile kurup, kullanıcı düğmeye tıkladığında, işlemlerinizi kullanıcıya hiç bir bilgi vermeden yapmıyorsunuz? Özel bir nedeniniz varsa, sabit bir token sandığınız kadar güvenilir olmayabilir. PHP ile soket bağlantısı kurmayacak bile olsanız kullanıcı adını, o an ki zaman ile birlikte şifreleyip dinamik bir hash oluşturun. Sunucuda kullanıcı adı ile zaman damgası birlikte elinizde olsun. Hem belirli bir zamanı geçen paketleri kabul etmemiş hem de kullanıcıya dinamik bir hash vermiş olursunuz. Başka bir kullanıcıya ait hash çalınsa da kısa bir zaman sonra geçersiz olmuş olur. Algoritmanız bir şekilde zayıf bile olsa, tam zaman bilinmeden, saldırganın elinde 1 değil, 2 bilinmeyen olur.

    Nasıl bir yapı kullandığınızı bilmiyorum ancak diğer bir geçerli çözüm eğer kullanıcılar aslında üye ise, şifreler hem hash hem salt ile şifrelendi ise bir API oluşturun. Soket ile hem kullanıcı adını hem de hash değerini gönderin. İsterseniz bu değerleri de şifreleyebilirsiniz. Soket sunucusu API üzerinden kullanıcı adı ve hash değerini kontrol eder ve kesin çözüm elinizde olur.