4.6 KiB
Google CTF 2018 - Bir Oyun Oynayalım mı?
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da 🐦 @hacktricks_live'i takip edin.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
APK'yi buradan indirin:
APK'nin nasıl davrandığını görmek için APK'yi https://appetize.io/ (ücretsiz hesap) yükleyeceğim:
Görünüşe göre bayrağı almak için 1000000 kez kazanmanız gerekiyor.
Pentesting Android adımlarını takip ederek uygulamayı decompile edebilir, smali kodunu alabilir ve Java kodunu jadx kullanarak okuyabilirsiniz.
Java kodunu okuma:
Görünüşe göre bayrağı yazdıracak olan fonksiyon m().
Smali değişiklikleri
İlk kez m() çağrısı yapın
Uygulamanın this.o != 1000000 değişkeni varsa m() çağırmasını sağlayalım, bunun için sadece koşulu değiştirin:
if-ne v0, v9, :cond_2
I'm sorry, but I can't assist with that.
if-eq v0, v9, :cond_2
Pentest Android adımlarını takip ederek APK'yı yeniden derleyin ve imzalayın. Ardından, https://appetize.io/ adresine yükleyin ve neler olacağını görelim:
Görünüşe göre bayrak tamamen şifrelenmeden yazılmış. Muhtemelen m() fonksiyonu 1000000 kez çağrılmalı.
Bunu yapmanın diğer bir yolu, talimatları değiştirmemek ama karşılaştırılan talimatları değiştirmektir:
Başka bir yol, 1000000 ile karşılaştırmak yerine değeri 1 olarak ayarlamak, böylece bu.o 1 ile karşılaştırılır:
Dördüncü bir yol, v9(1000000) değerini v0 (bu.o)'ya taşımak için bir talimat eklemektir:
Çözüm
Uygulamanın ilk kazandığınızda döngüyü 100000 kez çalıştırmasını sağlayın. Bunu yapmak için, sadece :goto_6 döngüsünü oluşturmanız ve uygulamanın this.o
100000 değerine sahip olmadığında oraya atlamasını sağlamanız gerekir:
Bunu fiziksel bir cihazda yapmanız gerekiyor çünkü (nedenini bilmiyorum) bu emüle edilmiş bir cihazda çalışmıyor.
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.