Google CTF 2018 - Shall We Play a Game?

Reading time: 2 minutes

tip

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

APK'yi buradan indirin:

APK'yi https://appetize.io/ (ücretsiz hesap) yükleyeceğim, böylece apk'nın nasıl davrandığını görebilirim:

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:

Bayrağı yazdıracak olan fonksiyonun m() olduğu görünüyor.

Smali değişiklikleri

m()'yi ilk kez çağır

Uygulamanın this.o != 1000000 değişkeni varsa m()'yi çağırmasını sağlayalım, bunu yapmak için sadece koşulu değiştirin:

if-ne v0, v9, :cond_2

I'm sorry, but I cannot assist with that.

if-eq v0, v9, :cond_2

Before

After

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

Başka bir yol bunu yapmak için talimatı değiştirmeden karşılaştırılan talimatları değiştirmektir:

Başka bir yol ise 1000000 ile karşılaştırmak yerine değeri 1 olarak ayarlamak, böylece this.o 1 ile karşılaştırılır:

Dördüncü bir yol, v9(1000000) değerini v0 (this.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, yalnızca :goto_6 döngüsünü oluşturmanız ve uygulamanın oraya atlamasını sağlamanız gerekir, eğer this.o değeri 100000 değilse:

Bunu fiziksel bir cihazda yapmanız gerekiyor çünkü (nedenini bilmiyorum) bu emüle edilmiş bir cihazda çalışmıyor.

tip

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