
Bu yazıda Allsafe Android App analizi (2025) kapsamında tespit edilen kritik güvenlik açıkları, çözüm önerileri ve mobil uygulama güvenliği açısından riskler detaylı incelenmektedir
Allsafe Android App analizi (2025) kapsamında yapılan mobil güvenlik testi sonucunda kritik, yüksek ve orta seviyede toplam 12 zafiyet belirlendi.
| Alan | Bilgi |
| Uygulama Adı | Allsafe |
| Paket Adı | infosecadventures.allsafe |
| Test Ortamı | Android Emulator (x86), SDK 28 |
| Test Tarihi | 04.09.2025 |
| Test Uzmanı | Mehmet Karagülle |
| Rapor Versiyonu | 1.0 |
| Gizlilik Seviyesi | Dahili Kullanım |
YÖNETİCİ ÖZETİ
Genel Değerlendirme
Allsafe uygulaması, OWASP Mobile Top 10 zafiyetlerinin çoğunu barındıran, eğitim amaçlı geliştirilmiş bir mobil güvenlik laboratuvarıdır. Yapılan güvenlik değerlendirmesi sonucunda, uygulamada kritik ve yüksek seviye güvenlik zafiyetleri tespit edilmiştir. Mevcut haliyle üretim ortamında ciddi güvenlik riskleri taşımaktadır.
| Risk Seviyesi | Zafiyet Sayısı | Açıklama |
| Kritik | 2 | ContentProvider veri sızıntısı, SQL injection |
| Yüksek | 4 | Debug modu, exported bileşenler, SSL pinning bypass |
| Orta | 6 | Hardcoded credentials, insecure storage, deep link |
| Toplam | 12 | – |
Ana Bulgular
Kritik Seviye Zafiyetler
- ContentProvider aracılığıyla doğrudan yetkisiz veri erişimi
- PII (Kişisel Tanımlayıcı Bilgi) sızıntısı – admin kullanıcısının şifresi (123456) açıkça erişilebilir
Yüksek Seviye Zafiyetler
- Uygulama debuggable=true ile derlenmiş → Frida ile runtime manipülasyon mümkün
- Exported bileşenler → Yetkisiz komut yürütme riski
- SSL Pinning tamamen bypass edilebilir → MitM saldırıları mümkün
- RecorderService yetkisiz erişime açık
Orta Seviye Zafiyetler
- Hardcoded kimlik bilgileri
- Güvenli olmayan SharedPreferences kullanımı
- PIN bypass ve root detection bypass
- Insecure deep linking
TEST METODOLOJİSİ
Penetrasyon testi aşağıdaki metodolojiler kullanılarak gerçekleştirilmiştir:
Statik Analiz
- AndroidManifest.xml incelemesi
- APK reverse engineering
- Kaynak kod analizi
Dinamik Analiz
- ADB (Android Debug Bridge) komutları
- Frida runtime instrumentation
- Runtime behavior monitoring
Manuel Test
- Uygulama fonksiyonelliği testi
- İzin ve yetki kontrolleri
- Veri akış analizi
ZAFIYET DETAYLARI
- ANDROIDMANIFEST.XML ZAFİYETLERİ
1.1 Debug Modu Aktif (KRİTİK)
Zafiyet Açıklaması:
android:debuggable=”true”
Uygulama debug modunda derlenmiş olup, runtime manipülasyon araçlarına (Frida, JDB, logcat) karşı savunmasızdır.
| Alan | Detay |
| CVSS v3.1 Skoru | 8.1 (Yüksek) |
| Risk Seviyesi | Kritik |
| Etki | Runtime Code Manipulation, Privilege Escalation |
| Sömürü Kolaylığı | Kolay |
Teknik Detaylar:
- Frida ile method hooking mümkün
- Runtime’da method return değerleri değiştirilebilir
- Memory dump alınabilir
- Debugging araçları ile kod akışı izlenebilir
Çözüm Önerisi:
gradle
buildTypes {
release {
debuggable false
minifyEnabled true
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
}
}
1.2 Exported Bileşenler (YÜKSEK)
Etkilenen Bileşenler:
- ProxyActivity
- DeepLinkTask
- MainActivity
- NoteReceiver
- RecorderService
- DataProvider
Zafiyet Açıklaması: android:exported=”true” parametresi nedeniyle bu bileşenler dış uygulamalar tarafından tetiklenebilmektedir.
| Alan | Detay |
| CVSS v3.1 Skoru | 7.5 (Yüksek) |
| Risk Seviyesi | Yüksek |
| Etki | Unauthorized Intent Triggering, Permission Re-delegation |
Sömürü Örneği:
adb shell am broadcast -a infosecadventures.allsafe.action.PROCESS_NOTE –es note “malicious_input”
Çözüm Önerisi:
<permission android:name=”infosecadventures.allsafe.permission.INTERNAL” />
<receiver android:name=”.NoteReceiver”
android:permission=”infosecadventures.allsafe.permission.INTERNAL”
android:exported=”false” />
1.3 QUERY_ALL_PACKAGES İzni (ORTA)
android:permission.QUERY_ALL_PACKAGES
Etki: Privacy Violation
Risk: Cihazdaki tüm uygulamalar listelenebilir
1.4 Legacy External Storage (ORTA)
android:requestLegacyExternalStorage=”true”
Etki: Insecure Storage Access
Risk: Android 10+ dosya erişim kısıtlamaları bypass edilir.
1.5 Deep Link Tanımı (ORTA-YÜKSEK)
<data android:scheme=”allsafe” android:host=”infosecadventures” android:pathPrefix=”/congrats”/>
Etki: Insecure Deep Linking
Risk: Dışarıdan tetiklenebilen deep link
- ADB KOMUTLARIYLA TESPİT EDİLEN ZAFİYETLER
2.1 ContentProvider Veri Sızıntısı (KRİTİK)
Sömürü Komutu:
adb shell content query –uri content://infosecadventures.allsafe.dataprovider
Sızıntı Sonucu:
Row: 0 id=1, user=admin, note=I can not believe that Jill is still using 123456 as her password…
Neden Kritik?
- Kimlik doğrulaması olmadan veriye erişim
- Admin kullanıcı adı ve şifresi (123456) açıkça sızdırıldı
- Kişisel Tanımlayıcı Bilgi (PII) maruziyeti

2.2 Veri Manipülasyonu (YÜKSEK)
Sömürü Komutu:
adb shell content insert –uri content://infosecadventures.allsafe.dataprovider \
–bind user:s:attacker –bind note:s:injected_note
| Alan | Detay |
| CVSS v3.1 Skoru | 7.3 (Yüksek) |
| Risk Seviyesi | Orta-Yüksek |
| Etki | Unauthorized Data Modification |
2.3 SQL Injection Benzeri Filtreleme (KRİTİK)
Sömürü Komutu:
adb shell content query –uri content://infosecadventures.allsafe.dataprovider \
–where “user=’admin’ OR 1=1”
| Alan | Detay |
| CVSS v3.1 Skoru | 8.8 (Yüksek) |
| Risk Seviyesi | Kritik |
| Etki | Weak Query Filtering, Data Breach |
2.4 Broadcast Receiver Saldırısı (ORTA-YÜKSEK)
adb shell am broadcast -a infosecadventures.allsafe.action.PROCESS_NOTE \
–es note “malicious_input”
| Alan | Detay |
| CVSS v3.1 Skoru | 6.8 (Orta) |
| Risk Seviyesi | Orta-Yüksek |
| Etki | Broadcast Injection |
2.5 RecorderService Yetkisiz Erişim (YÜKSEK)
Zafiyet Açıklaması: RecorderService bileşeni exported olarak yayınlanmış ve herhangi bir izin kontrolü bulunmuyor.
adb shell am start-foreground-service -n infosecadventures.allsafe/.challenges.RecorderService
| Alan | Detay |
| CVSS v3.1 Skoru | 7.8 (Yüksek) |
| Risk Seviyesi | Yüksek |
| Etki | Background Execution Abuse, Resource Access |

Riskler:
- Cihaz kaynaklarının (mikrofon, depolama) yetkisiz kullanımı
- Background’da sürekli çalışma riski
- Battery drain attack
2.6 Deep Link Saldırısı (ORTA-YÜKSEK)
adb shell am start -a android.intent.action.VIEW \
-d “allsafe://infosecadventures/congrats?admin=true”
| Alan | Detay |
| Risk Seviyesi | Orta-Yüksek |
| Etki | Insecure Deep Linking, Privilege Escalation |
| 2.7 Intent Injection (ORTA-YÜKSEK) |
adb shell am start -n infosecadventures.allsafe/.MainActivity \
–es token “fake_token” –ez isAdmin true
| Alan | Detay |
| Risk Seviyesi | Orta-Yüksek |
| Etki | Privilege Escalation via Intent |
2.8 External Storage Güvenlik Açığı (YÜKSEK)
adb shell ls /sdcard/Download/
Sonuçlar:
- allsafe_rec_*.mp3 (ses kayıtları)
- cacert.crt (sertifika dosyası

| Alan | Detay |
| CVSS v3.1 Skoru | 7.5 (Yüksek) |
| Risk Seviyesi | Yüksek (Kritik senaryolarda) |
| Etki | Insecure External Storage, Privacy Violation |
Riskler:
- Hassas veriler (recordings, certificates) herkese açık dizinde
- Diğer uygulamalar tarafından erişilebilir
- MitM saldırısı riski (sertifika manipülasyonu)
- FRIDA İLE DİNAMİK ANALİZ
3.1 Admin Yetki Enjeksiyonu (ORTA-YÜKSEK)
Sömürü Yöntemi: Frida ile isAdmin ve role parametreleri runtime’da değiştirilerek admin yetkisi elde edildi.

| Alan | Detay |
| Risk Seviyesi | Orta-Yüksek |
| Etki | Privilege Escalation via Intent |
3.2 SSL Pinning Bypass (ORTA)
Tespit Edilen:
- Base64 encode fonksiyonları
- SSL pinning kontrolleri aktif ancak bypass edilebilir

| Alan | Detay |
| Risk Seviyesi | Orta |
| Etki | Weak Cryptography, SSL Pinning Bypass |
3.3 Permission Delegation Attack (ORTA)
Challenge 09 – NoteReceiver: NoteReceiver.onReceive() metodu izlenmiş ve veri işleme zafiyetleri tespit edilmiştir
| Alan | Detay |
| Risk Seviyesi | Orta |
| Etki | Permission Re-delegation Exploit |
3.4 Insecure Service (YÜKSEK)
Challenge 20 – RecorderService: Hizmet dışarıdan başlatılmış ve güvenli olmayan çalışma tespit edilmiştir.
Alan Detay
Risk Seviyesi Yüksek
Etki Insecure Service Implementation
ÖNERİLER VE ÇÖZÜMLER
- ACİL ÖNCELIK (KRİTİK/YÜKSEK)
1.1 Debug Modunu Devre Dışı Bırakma
buildTypes {
release {
debuggable false
minifyEnabled true
shrinkResources true
}
}
1.2 ContentProvider Güvenliği
<provider
android:name=”.DataProvider”
android:authorities=”infosecadventures.allsafe.dataprovider”
android:readPermission=”infosecadventures.allsafe.permission.READ_DATA”
android:writePermission=”infosecadventures.allsafe.permission.WRITE_DATA”
android:exported=”false” />
1.3 Exported Bileşenleri Güvenli Hale Getirme
<service android:name=”.RecorderService” android:exported=”false” />
<receiver android:name=”.NoteReceiver”
android:permission=”infosecadventures.allsafe.permission.INTERNAL”
android:exported=”true” />
1.4 Veri Şifreleme
EncryptedSharedPreferences.create(
“secure_prefs”,
masterKey,
context,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
);
SONUÇ VE DEĞERLENDİRME
Genel Güvenlik Durumu
Allsafe uygulaması, eğitim amaçlı tasarlandığı için kasıtlı olarak çok sayıda güvenlik zafiyeti barındırmaktadır. Ancak bu zafiyetler, gerçek dünyada ciddi sonuçlar doğurabilecek türdendir.
Risk Matrisi
| Zafiyet Kategorisi | Kritik | Yüksek | Orta | Düşük |
| Veri Güvenliği | 2 | 1 | 2 | 0 |
| Erişim Kontrolü | 0 | 2 | 3 | 0 |
| Konfigürasyon | 0 | 1 | 1 | 0 |
| Toplam | 2 | 4 | 6 | 0 |
Öneriler Özeti
- ACİL: Debug modu kapatılmalı ve ContentProvider güvenliği sağlanmalı
- YÜKSEK ÖNCELİK: Exported bileşenler güvenli hale getirilmeli
- ORTA ÖNCELİK: Deep link ve external storage güvenliği iyileştirilmeli
- UZUN VADELİ: RASP ve obfuscation implementasyonu
Test Kapsamı
- Statik analiz tamamlandı
- Dinamik analiz tamamlandı
- Runtime instrumentation tamamlandı
- Network security analizi (kapsamda değil)
- Business logic testing (kısmi)
Allsafe apk linki: t0thkr1s/allsafe-android: Intentionally vulnerable Android application.
Android ‘de güvenli yazılım geliştirmek için bu araştırmayı okuyabilirsiniz: Android Uygulama Güvenliği ve Bileşenleri












