mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
40 lines
2.4 KiB
Markdown
40 lines
2.4 KiB
Markdown
{{#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ı açı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}}
|