Herkese merhaba,
İLK yazımla hoş geldiniz! Size biraz arka plan bilgisi vermek gerekirse, Benim adım Daniel, hacklemeye yaklaşık 4 ay önce başladım ve duramıyorum! Bazı hataları öğrenmekten ve kullanmaktan gerçekten keyif alıyorum! 😀 Bu yazı, birkaç IDOR’u zincirleyerek ve sızdırılan bilgilerden yararlanarak ilk Hesap Devralmamı nasıl başardığımı anlatacak.
Programın arka planı: Program, bir devlete hizmet sağlayan bir kamu hizmeti şirketidir. Bu program içerisinde aynı kimlik bilgilerini kullanarak birden fazla hizmete kaydolabilirsiniz. Buna https://gas.com/ adını vereceğiz.
Biraz içerik keşfi yapıyordum ve gas.com’un kullandığı bir hizmet buldum. bu hizmete “yardımcı program” adını verelim(https://gas.com/utility/)
*Not Yapın*: Gas.com’da oluşturulmuş bir hesabım var ve şimdi gas.com ile aynı hesap bilgilerini kullanarak “yardımcı hizmet” hizmetlerine kaydolacağım
Yani hesap kimliğim ve 4 haneli şifrem olduğu sürece “Yardımcı Program”a kayıt olabiliyorum.
1. Adım: AccountID’yi ve PIN’i girin
2. Adım: Hesap Kimliğiyle ilişkili e-posta adresini onaylamamı istedi ancak e-posta adresi önceden doldurulmuştu (bunu hatırla)
3. Adım: Daha sonra size kullanıcı adınızı (ayrıca önceden doldurulmuş) ve şifrenizi belirleme seçeneği sunar.
Oturum açtıktan sonra, göndermeye hazır olduğunuzda hassas bilgileri (isim, telefon numarası, işveren, adres, ad ve soyadı) önceden dolduracak bir sözleşme oluşturabilirsiniz.
“Yardımcı program”ın profil bölümünde e-posta adresini, kullanıcı adını ve şifreyi değiştirebiliyorum.
Tamam, çok güzel, her şey amaçlandığı gibi çalışıyor, değil mi? Bir kullanıcının Hesap Kimliğini, 4 haneli pinlerini VE e-posta adreslerini nasıl alacağım?
Peki, kayıt işleminin 1. Adımına geri dönelim. Hesap Kimliğini girdiğimde sunucu, Doğru veya yanlış sonucunu döndüren https://gas.com/utility/account/check/{{AccountID}} doğrulamak için otomatik olarak bu uç noktayı çağırır. .
Sonunda her iki hesabımın hesap kimliklerine baktım ve ilginç bir şey buldum! Her iki Hesap Kimliği’nin de yalnızca ilk 6 hanesi farklıydı! Kesinlikle, AccountID uç noktasının, yalnızca accountID’nin ilk 6 hanesini ve ardından 4 sıfır ve tek bir rakamı (1-9) sorunsuz bir şekilde denemeniz ve kaba kuvvetle denemeniz durumunda, kaba kuvvet yoluyla çok kolay bir şekilde numaralandırılabileceği görülüyor. Örneğin. Hesap ID numaram 12345600007. ‘123456’ kaba kuvvetle uygulayacağım. Ondan sonraki 4 sıfır aynı kalır ve ‘7’ 0-9 arasında değiştirilebilir. Yaklaşık 15 dakika boyunca kaba kuvvet uygulayarak birkaç hesap kimliğini numaralandırabildim (Sorumluluk reddi: Bu hesaplarla ilgili ek işlem yapmadım!!!) Ayrıca bu uç noktayı arayarak bu hesabın kayıtlı olup olmadığını da doğrulayabilirim: https: //gas.com/utility/enrolled/check/{{AccountID}}, kayıtlı olsun veya olmasın Doğru veya Yanlış değerini döndürecektir.
PIN’i ekledikten sonra sunucu başka bir doğrulama daha yapar; bu, pin içindir: https://gas.com/utility/pin/check POST, aşağıdaki parametreleri göndererek” {“accountNumber”:”12345600007″,”accountPin ”:”1234″}” Sanırım hepimiz 4 basamaklı bir pini kaba kuvvetle zorlamanın çok kolay ve hızlı olduğu konusunda hemfikiriz. Doğru pin numarasını tıkladığımda, hesabın var olduğu doğrulanacak ve ayrıca kurbanla ilişkili e-posta adresi de verilecek. Artık bu uç noktayı, yalnızca bir Hesap Kimliğine sahip olarak kurbanın Hesap PIN’lerini ve e-posta adreslerini numaralandırmak için kullanabilirim.
Artık kurbanın hesap kimliği, hesap şifresi ve e-posta adresim var, şimdi ne olacak?
Tamam, kurban bilgilerini içeren 1. Adıma geri dönelim ve onları kaydedelim:
1. Adım: Kurbanların AccountID’sini ve AccountPin’ini kullanarak kaydoldum ve ileri tuşuna bastım
2. Adım: Kurbanların e-posta adresini girip onaylamamı istedi (halihazırda doldurulmuş olduğunu unutmayın), bu yüzden ileri tuşuna basıyorum
3. Adım: Kullanıcı adını onaylayın (zaten doldurulmuş) ve şifreyi ayarlayın
Artık kurbanı resmi olarak emlak portalına kaydettim. Peki ne görüyorum?
Artık oturum açtığım için yapacağım her türlü işlemde mağdur adına hareket edebilirim. Mağdur adına bir anlaşma oluştursaydım, bunu ana hesabından (isim, telefon) hassas bilgilerle doldururdu numarası, işvereni, adresi, adı ve soyadı) Profilim bölümünden de e-posta adresini değiştirebiliyorum.
Bu benim için bir ışık anahtarıydı. Bu hesaplar birbirine bağlıysa ne olur? Eğer şifreyi değiştirirsem, şifre değişikliği ana hesapta da işe yarar mı? Ne yazık ki bu hiç işe yaramadı ANCAK burada şifreyi değiştirirsem ana sayfada yayılacağını belirten bir bildirim fark ettim.
Bunun anlamı şu: Buradaki e-posta adresimi değiştirirsem, bu durum hesap hizmetlerine de yansıyacaktır! Bu sonuçta, artık yardımcı programdaki e-posta adresini değiştirip ardından ana sayfaya şifremi unuttum isteğini göndererek kurbanın şifresini kolayca değiştirebileceğim anlamına geliyor. Bu, sayabildiğim her Hesabın %100 tam olarak devralınmasına olanak tanır.
Çözüm: Ne kadar eğlenceliydi? Programları test edenleri her zaman IDOR’ları test etmeye ve hangi bilgilerin sızdığını görmeye teşvik ediyorum. Her zaman kendinize şu soruyu sorun: Bu bilgiyi etkili bir şeye dönüştürebilir misiniz? Umarım bu, bazı yeni başlayanlara metodolojilerini geliştirirken yardımcı olur. Wayback arşivindeki Eski Javascript dosyalarını ayrıştırarak aynı programda nasıl başka bir Hesap Devralma bulduğumu anlatan Part Deux’u bu hafta yayınlayacağım.
Sorularınız olursa DM’den ulaşabilirsiniz https://twitter.com/Masonhck3571😀