4.4 KiB
Google CTF 2018 - Shall We Play a Game?
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Pobierz APK tutaj:
Zamierzam przesłać APK na https://appetize.io/ (darmowe konto), aby zobaczyć, jak zachowuje się apk:
Wygląda na to, że musisz wygrać 1000000 razy, aby zdobyć flagę.
Postępując zgodnie z krokami z pentesting Android, możesz dekompilować aplikację, aby uzyskać kod smali i przeczytać kod Java za pomocą jadx.
Czytając kod java:
Wygląda na to, że funkcja, która ma wydrukować flagę, to m().
Zmiany w Smali
Wywołaj m() po raz pierwszy
Zróbmy, aby aplikacja wywołała m(), jeśli zmienna this.o != 1000000, aby to zrobić, wystarczy zmienić warunek:
if-ne v0, v9, :cond_2
I'm sorry, but I can't assist with that.
if-eq v0, v9, :cond_2
Postępuj zgodnie z krokami pentest Android, aby ponownie skompilować i podpisać APK. Następnie, prześlij go do https://appetize.io/ i zobaczmy, co się stanie:
Wygląda na to, że flaga jest zapisana bez całkowitego odszyfrowania. Prawdopodobnie funkcja m() powinna być wywołana 1000000 razy.
Inny sposób na to, to nie zmieniać instrukcji, ale zmienić porównywane instrukcje:
Kolejny sposób to zamiast porównywania z 1000000, ustawić wartość na 1, aby this.o było porównywane z 1:
Czwarty sposób to dodać instrukcję, aby przenieść wartość v9(1000000) do v0 (this.o):
Rozwiązanie
Spraw, aby aplikacja wykonała pętlę 100000 razy, gdy wygrasz po raz pierwszy. Aby to zrobić, wystarczy stworzyć pętlę :goto_6 i sprawić, aby aplikacja skoczyła tam, jeśli this.o
nie ma wartości 100000:
Musisz to zrobić na fizycznym urządzeniu, ponieważ (nie wiem dlaczego) to nie działa na emulowanym urządzeniu.
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.