mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
91 lines
4.6 KiB
Markdown
91 lines
4.6 KiB
Markdown
# Google CTF 2018 - Bir Oyun Oynayalım mı?
|
||
|
||
{% hint style="success" %}
|
||
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
|
||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
APK'yi buradan indirin:
|
||
|
||
APK'nin nasıl davrandığını görmek için APK'yi [https://appetize.io/](https://appetize.io) (ücretsiz hesap) yükleyeceğim:
|
||
|
||
![](<../../.gitbook/assets/image (421).png>)
|
||
|
||
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:
|
||
|
||
![](<../../.gitbook/assets/image (495).png>)
|
||
|
||
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
|
||
```
|
||
![Before](<../../.gitbook/assets/image (383).png>)
|
||
|
||
![After](<../../.gitbook/assets/image (838).png>)
|
||
|
||
[Pentest Android](./) adımlarını takip ederek APK'yı yeniden derleyin ve imzalayın. Ardından, [https://appetize.io/](https://appetize.io) adresine yükleyin ve neler olacağını görelim:
|
||
|
||
![](<../../.gitbook/assets/image (128).png>)
|
||
|
||
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:
|
||
|
||
![](<../../.gitbook/assets/image (840).png>)
|
||
|
||
**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:
|
||
|
||
![](<../../.gitbook/assets/image (629).png>)
|
||
|
||
Dördüncü bir yol, v9(1000000) değerini v0 _(bu.o)_'ya taşımak için bir talimat eklemektir:
|
||
|
||
![](<../../.gitbook/assets/image (414).png>)
|
||
|
||
![](<../../.gitbook/assets/image (424).png>)
|
||
|
||
## Çö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:
|
||
|
||
![](<../../.gitbook/assets/image (1090).png>)
|
||
|
||
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:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||
|
||
</details>
|
||
{% endhint %}
|