40 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{#include ../../banners/hacktricks-training.md}}
# React Native Uygulama Analizi
Uygulamanın React Native çerçevesinde mi oluşturulduğunu doğrulamak için şu adımları izleyin:
1. APK dosyasını zip uzantısıyla yeniden adlandırın ve `cp com.example.apk example-apk.zip` ve `unzip -qq example-apk.zip -d ReactNative` komutunu kullanarak yeni bir klasöre çıkarın.
2. Yeni oluşturulan ReactNative klasörüne gidin ve assets klasörünü bulun. Bu klasörün içinde, minify edilmiş formatta React JavaScript içeren `index.android.bundle` dosyasını bulmalısınız.
3. JavaScript dosyasını aramak için `find . -print | grep -i ".bundle$"` komutunu kullanın.
JavaScript kodunu daha fazla analiz etmek için, aynı dizinde `index.html` adında bir dosya oluşturun ve aşağıdaki kodu ekleyin:
```html
<script src="./index.android.bundle"></script>
```
Dosyayı [https://spaceraccoon.github.io/webpack-exploder/](https://spaceraccoon.github.io/webpack-exploder/) adresine yükleyebilir veya şu adımları izleyebilirsiniz:
1. `index.html` dosyasını Google Chrome'da açın.
2. **OS X için Command+Option+J** veya **Windows için Control+Shift+J** tuşlarına basarak Geliştirici Araçları'nıın.
3. Geliştirici Araçları'nda "Sources" sekmesine tıklayın. Ana paketi oluşturan klasörler ve dosyalar halinde bölünmüş bir JavaScript dosyası görmelisiniz.
Eğer `index.android.bundle.map` adında bir dosya bulursanız, kaynak kodunu unminified formatında analiz edebilirsiniz. Harita dosyaları, minified tanımlayıcıları eşleştirmenizi sağlayan kaynak eşleştirmesi içerir.
Hassas kimlik bilgileri ve uç noktaları aramak için şu adımları izleyin:
1. JavaScript kodunu analiz etmek için hassas anahtar kelimeleri belirleyin. React Native uygulamaları genellikle Firebase, AWS S3 hizmet uç noktaları, özel anahtarlar gibi üçüncü taraf hizmetler kullanır.
2. Bu özel durumda, uygulamanın Dialogflow hizmetini kullandığı gözlemlendi. Yapılandırmasıyla ilgili bir desen arayın.
3. Recon süreci sırasında JavaScript kodunda hassas hard-coded kimlik bilgileri bulunduğu için şanslıydık.
## References
- [https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7](https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7)
{{#include ../../banners/hacktricks-training.md}}